归档模式下:
1.当数据文件过时,
alter database begin backup;
拷贝所有数据文件,
alter system checkpoint; //检查点 使得控制文件和拷贝出来的数据文件不一致。
将拷贝出来的过时的数据文件替换回去,
打开数据库是提示介质恢复。。
SQL> recover datafile 1,2,3,4,5
2.保持控制文件过久
先将控制文件拷贝出来
然后,alter system checkpoint; 更新SCN
将过时的控制文件拷贝回去
第 1 行出现错误:
ORA-01122: 数据库文件 1 验证失败
ORA-01110: 数据文件 1: 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\INTERLIB\SYSTEM01.DBF'
ORA-01207: 文件比控制文件更新 - 旧的控制文件
转存控制文件:alter database backup controlfile to trace as 'D:\control';
然后按生成的control中的内容重建
重建后的数据库SCN和当前数据文件的SCN一致。
3.redolog 过旧
SQL> alter system checkpoint;
系统已更改。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
1014130
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00322: 日志 1 (用于线程 1) 不是当前副本
ORA-00312: 联机日志 1 线程 1:
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\INTERLIB\REDO01.LOG'
清空受损的日志文件:
如果受损日志处理已归档状态: alter database clear logfile group 2;
如果受损日志组处理没有归档状态使用:alter database clear unarchived logfile group 3
以上两种方法都不对受损的日志进行归档(查看archivelog 文件夹无归档修改而断定)。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24288080/viewspace-669396/ ,如需转载,请注明出处,否则将追究法律责任。