技术开发 频道

Oracle数据库常见真实问题处理步骤

  案例环境:XX网Oracle 816数据库,。

  需求描述:

  备份主机(装有oracle)上备份了7月13日的数据,但是主数据库服务器当前日期是7月15日。为了把备份主机上的库跟主数据库服务器同步,使用归档日志把7月13日的库前滚到7月15日。

  处理步骤:

  a) 备份备份主机上的控制文件,然后把主用数据库的最新控制文件备份并拷贝到备份主机相应目录

  备份控制文件的方法:

  sqlplus /nolog<

  connect internal

  alter database backup controlfile to '${BACKUP_DIR}/controlfile.bkp';

  alter database backup controlfile to trace;

  EOF

  b) 拷贝主库的归档日志到备份数据库的归档日志目录(这个前滚操作需要从13号到15号的归档日志完整,若备份数据库的归档日志目录不知道,可以从参数文件中看

  c) 启动数据库到mount状态,使用recover database前滚数据库

  SQL> startup restrict mount pfile="${ORACLE_BASE}/admin/sdh21/pfile/init${service_names}.ora"

  SQL> recover database using backup controlfile;

  选择AUTO模式

  d) 如果到了最后一个日志它还需要前滚,此时可以在主库上把当前redolog切换,然后把产生的归档继续拷贝到备份主机,继续前滚。

  e) 前滚完成之后,它可能还继续要求下一个归档日志,此时可以CANCEL

  f) 使用reselogs选项打开数据库

  SQL> alter database open resetlogs;

  注意:如果打开时报错可能是还需要把日志继续前滚,可重复使用recover database命令

0
相关文章