龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle数据库常见问题处理(1)(4)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
四、一个使用Oracle归档日志恢复数据库的案例 案例环境:XX网Oracle 816数据库 需求描述: 备份主机(装有oracle)上备份了7月13日的数据,但是主数据库服务

四、一个使用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命令)

精彩图集

赞助商链接