使用旧的控制文件恢复


备份控制文件

alter database backup controlfileto '/bk/ctl.bk'; 

SQL> alter system switch logfile;

alter system switch logfile

*

ERROR at line 1:

ORA-03113: end-of-file on communication channel 

SQL> conn /as sysdba

Connected to an idle instance.

SQL> startup

Oracle instance started.

 

Total System Global Area  314572800 bytes

Fixed Size                  1219136 bytes

Variable Size             100664768 bytes

Database Buffers          205520896 bytes

Redo Buffers               7168000 bytes

ORA-00205: error in identifying control file, checkalert log for more info 

SQL> ! /bk/ctl.bk/u01/tiger/oradata/orcl2/control02.ctl

/bin/bash: /bk/ctl.bk: ???? 

SQL> ! cp /bk/ctl.bk/u01/tiger/oradata/orcl2/control02.ctl 

SQL> ! cp /bk/ctl.bk/u01/tiger/oradata/orcl2/control03.ctl 

SQL> ! cp /bk/ctl.bk/u01/tiger/oradata/orcl2/control01.ctl 

SQL> alter database mount;

Database altered. 

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01589: must use RESETLOGS or NORESETLOGS option fordatabase open

在做resetlogs启数据库也会因为数据文件内部一致而中止,需要恢复 

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01194: file 1 needs more recovery to beconsistent

ORA-01110: data file 1: '/u01/tiger/oradata/orcl2/system01.dbf' 

SQL> recover database;

ORA-00283: recovery session canceled due to errors

ORA-01610: recovery using the BACKUP CONTROLFILE option mustbe done

数据库检测控制文件和数据文件的SCN的对比,发现控制文件是老的 

SQL> recover database using backupcontrolfile;

ORA-00279: change 458762 generated at 09/03/201214:28:45 needed for thread 1

ORA-00289: suggestion :/u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_2_%u_.arc

ORA-00280: change 458762 for thread 1 is insequence #2 

Specify log: {<RET>=suggested | filename |AUTO | CANCEL}

auto

ORA-00279: change 458780 generated at 09/03/201214:50:27 needed for thread 1

ORA-00289: suggestion :/u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_3_%u_.arc

ORA-00280: change 458780 for thread 1 is insequence #3

ORA-00278: log file'/u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_2_848nst62_.arc'no longer

needed for this recovery 

ORA-00279: change 458785 generated at 09/03/201214:50:35 needed for thread 1

ORA-00289: suggestion : /u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_4_%u_.arc

ORA-00280: change 458785 for thread 1 is insequence #4

ORA-00278: log file'/u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_3_848nsvk0_.arc'no longer

needed for this recovery 

ORA-00279: change 458791 generated at 09/03/201214:50:42 needed for thread 1

ORA-00289: suggestion :/u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_5_%u_.arc

ORA-00280: change 458791 for thread 1 is insequence #5

ORA-00278: log file'/u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_4_848nt295_.arc'no longer

needed for this recovery 

ORA-00308: cannot open archived log'/u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_5_%u_.arc'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

这个文件还没归档因为是current还没来得及切换日志(切换日志才能归档) 提供redo给它一组组尝试

SQL> recover database using backupcontrolfile;

ORA-00279: change 458791 generated at 09/03/201214:50:42 needed for thread 1

ORA-00289: suggestion : /u01/tiger/flash_recovery_area/ORCL2/archivelog/2012_09_03/o1_mf_1_5_%u_.arc

ORA-00280: change 458791 for thread 1 is insequence #5 

Specify log: {<RET>=suggested | filename |AUTO | CANCEL}

/u01/tiger/oradata/orcl2/redo01.log

Log applied.

Media recovery complete.

SQL> alter database openresetlogs; 

Database altered. 

SQL>

相关内容