Oracle手工恢复案例(非归档模式)(二)

2014-11-24 12:50:54 · 作者: · 浏览: 2
1 UNKNOWN ERROR 2 UNKNOWN ERROR 3 UNKNOWN ERROR 4 UNKNOWN ERROR 5 UNKNOWN ERROR 6 FILE NOT FOUND 6 rows selected. 6.还原数据文件并恢复 [oracle@siqian siqian11g]$ cp /backup/cold/test01.dbf /u01/oradata/siqian11g/ sys@SIQIAN11>recover datafile 6; ORA-00279: change 2201687 generated at 06/29/2013 18:36:58 needed for thread 1 ORA-00289: suggestion : /backup/arch/arch_1_819372290_19.log ORA-00280: change 2201687 for thread 1 is in sequence #19 Specify log: {=suggested | filename | AUTO | CANCEL} auto ORA-00308: cannot open archived log '/backup/arch/arch_1_819372290_19.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 ORA-00308: cannot open archived log '/backup/arch/arch_1_819372290_19.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 因为序列19的日志没有被归档,所以在恢复时会报错。所以只能做不完全恢复。 7.还原所有控制文件和数据文件来做不完全恢复 [oracle@siqian siqian11g]$ cp /backup/cold/ *.ctl /u01/oradata/siqian11g/ [oracle@siqian siqian11g]$ cp /backup/cold/ *.dbf /u01/oradata/siqian11g/ 8.把库起到Mount并查看数据文件头和控制文件头的SCN信息 startup mount force 查看SCN sys@SIQIAN11>select file#,checkpoint_change# from v$datafile_header; FILE# CHECKPOINT_CHANGE# ---------------------------- 1 2201687 2 2201687 3 2201687 4 2201687 5 2201687 6 2201687 6 rows selected. sys@SIQIAN11>
select file#,checkpoint_change# from v$datafile; FILE# CHECKPOINT_CHANGE# ---------------------------- 1 2201687 2 2201687 3 2201687 4 2201687 5 2201687 6 2201687 6 rows selected. 但redo里的SCN和数据文件、控制文件里的SCN是不同步的,所以现在开库会出问题 alter database open; ERROR at line 1: ORA-00338: log 1 of thread 1 is more recent than control file ORA-00312: online log 1 thread 1: '/u01/oradata/siqian11g/redo01.log' 7.对整个数据库做不完全恢复 recover database untilcancel; 8.以resetlogs方式打开数据库 alter database open resetlogs; 9.验证 select * from test.t01; 发现只有10条记录。 10.冷备

因为数据库是以resetlogs方式打开的,所以此时最好做一个数据库全备。