Oracle联机日志恢复案例(二)
---------------
1 2266285
2 2266285
3 2266285
4 2266285
5 2266285
6 2266285
7 2266285
8 2266285
8 rows selected.
发现控制文件中的SCN号比较新,因为数据文件是从冷备那边拷贝来的。
7.尝试恢复数据库
sys@SIQIAN11>recover database;
ORA-00283: recovery session canceled due to errors
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/oradata/siqian11g/redo03.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
刚才把当前的日志删除了,所以找不到日志来恢复
8.用until cancel方式来恢复数据库
sys@SIQIAN11>recover database until cancel;
ORA-00279: change 2266772 generated at 06/30/2013 10:14:43 needed for thread 1
ORA-00289: suggestion : /backup/arch/arch_1_819452646_9.log
ORA-00280: change 2266772 for thread 1 is in sequence #9
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00308: cannot open archived log '/backup/arch/arch_1_819452646_9.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
查看当前日志信息
sys@SIQIAN11>
select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
-------------------- --- ----------------
1 7 YES INACTIVE
3 9 NO CURRENT
2 8 YES INACTIVE
9.通过基于cancel的不完全恢复来恢复数据库
sys@SIQIAN11>recover database until cancel;
ORA-00279: change 2266772 generated at 06/30/2013 10:14:43 needed for thread 1
ORA-00289: suggestion : /backup/arch/arch_1_819452646_9.log
ORA-00280: change 2266772 for thread 1 is in sequence #9
Specify log: {=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
10.以resetlogs方式打开数据库
sys@SIQIAN11>alter database open resetlogs;
11.验证
test@SIQIAN11>select count(*) from t01;
COUNT(*)
----------
10
可见只能恢复到上一次归档的模样。
12.冷备