- 论坛徽章:
- 0
|
恢复过程如下:
在时间T1把,数据库A,改成归档模式,并立即冷备份全部的文件包括(datafile,redolog,controlfile)
在时间T2,数据库A,生成了若干的归档日志文件。
时间T3,建立备份数据库B,并将数据库A的冷备份覆盖掉数据库B。这个时候的数据库B,就变成了数据库A在T1时刻的状态
如果,想把数据库B还原成数据库A在T2的状态,直接运用数据库在时间T1--->T2这段时间的归档日志就可以了
问题:
1、因为数据库B在T3时刻是一致状态(其实就是数据库A在T1时刻的冷备份),那么系统是怎么确定恢复的起始位置和终点位置,来运用生成的归档日志,是B回到A在T2时刻的状态的呢?
我在恢复的时候过程如下:
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 217428784 generated at 01/19/2008 09:39:23 needed for thread
1
ORA-00289: suggestion : /log/archivelog/ddqtarch/arch_ddqt_1_1567_0001.arc
ORA-00280: change 217428784 for thread 1 is in sequence #1567
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00283: recovery session canceled due to errors
ORA-00355: change numbers out of order
ORA-00353: log corruption near block 38453 change 217428784 time 01/18/2008
22:25:46
ORA-00334: archived log: '/log/archivelog/ddqtarch/arch_ddqt_1_1567_0001.arc'
ORA-01112: media recovery not started
上面的这个错误,跟当前的redolog有关系,〔Ora-00355 A change number found in the redo log is lower than a previously encountered change number〕
如果要恢复的话,是否需要重建日志文件呢?还是必须使用数据库A在T2时间的redolog呢?
然后试图打开数据库时如下:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/oradata/ddback/ddqtsyst.dat'
[ 本帖最后由 moumoulrc 于 2008-1-19 10:31 编辑 ] |
|