四、一个使用Oracle归档日志恢复数据库的案例
案例环境:XX网Oracle 816数据库
需求描述:
备份主机装有oracle)上备份了7月13日的数据,但是主数据库服务器当前日期是7月15日。为了把备份主机上的库跟主数据库服务器同步,使用归档日志把7月13日的库前滚到7月15日。
处理步骤:
1.备份备份主机上的控制文件,然后把主用数据库的最新控制文件备份并拷贝到备份主机相应目录;
备份控制文件的方法:
sqlplus /nolog<<EOF connect internal alter database backup controlfile to '${BACKUP_DIR}/controlfile.bkp'; alter database backup controlfile to trace; EOF |
2.拷贝主库的归档日志到备份数据库的归档日志目录这个前滚操作需要从13号到15号的归档日志完整,若备份数据库的归档日志目录不知道,可以从参数文件中看;
3.启动数据库到mount状态,使用recover database前滚数据库;
SQL> startup restrict mount pfile="${ORACLE_BASE}/admin/sdh21/pfile/init${service_names}.ora" SQL> recover database using backup controlfile; |
选择AUTO模式
4.如果到了最后一个日志它还需要前滚,此时可以在主库上把当前redolog切换,然后把产生的归档继续拷贝到备份主机,继续前滚;
5.前滚完成之后,它可能还继续要求下一个归档日志,此时可以CANCEL;
6.使用reselogs选项打开数据库。
SQL> alter database open resetlogs; |
注意:如果打开时报错可能是还需要把日志继续前滚,可重复使用recover database命令)
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。