步骤1:启动到mount状态,进行恢复,将所有归档日志全都用完
SQL> startup mount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220844 bytes
Variable Size 167776020 bytes
Database Buffers 436207616 bytes
Redo Buffers 2969600 bytes
Database mounted.
SQL> recover database until cancel using backup controlfile;
ORA-00279: change 470603 generated at 04/23/2015 12:20:24 needed for thread 1
ORA-00289: suggestion : /home/oracle/arch/1_5_877627263.dbf
ORA-00280: change 470603 for thread 1 is in sequence #5
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 470823 generated at 04/23/2015 12:28:06 needed for thread 1
ORA-00289: suggestion : /home/oracle/arch/1_6_877627263.dbf
ORA-00280: change 470823 for thread 1 is in sequence #6
ORA-00278: log file '/home/oracle/arch/1_5_877627263.dbf' no longer needed for
this recovery
ORA-00279: change 471116 generated at 04/23/2015 12:38:13 needed for thread 1
ORA-00289: suggestion : /home/oracle/arch/1_7_877627263.dbf
ORA-00280: change 471116 for thread 1 is in sequence #7
ORA-00278: log file '/home/oracle/arch/1_6_877627263.dbf' no longer needed for
this recovery
ORA-00308: cannot open archived log '/home/oracle/arch/1_7_877627263.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'
步骤2:因为当前日志是没有归档的,所以它会自动去找1_7_877627263.dbf',当时这个归档日志文件是不存在的。然后我们要查找所有的在线日志文件,挨个去实验,失败后再次恢复,直到成功。
SQL> recover database until cancel using backup controlfile;
ORA-00279: change 471116 generated at 04/23/2015 12:38:13 needed for thread 1
ORA-00289: suggestion : /home/oracle/arch/1_7_877627263.dbf
ORA-00280: change 471116 for thread 1 is in sequence #7
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/orcl/redo01.log
ORA-00310: archived log contains sequence 5; sequence 7 required
ORA-00334: archived log: '/u01/app/oracle/oradata/orcl/redo01.log'
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'
SQL> recover database until cancel using backup controlfile;
ORA-00279: change 471116 generated at 04/23/2015 12:38:13 needed for thread 1
ORA-00289: suggestion : /home/oracle/arch/1_7_877627263.dbf
ORA-00280: change 471116 for thread 1 is in sequence #7
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/orcl/redo02.log
ORA-00310: archived log contains sequence 6; sequence 7 required
ORA-00334: archived log: '/u01/app/oracle/oradata/orcl/redo02.log'
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'
SQL> recover database until cancel using backup controlfile;
ORA-00279: change 471116 generated at 04/23/2015 12:38:13 needed for thread 1
ORA-00289: suggestion : /home/oracle/arch/1_7_877627263.dbf
ORA-00280: change 471116 for thread 1 is in sequence #7
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/orcl/redo03.log
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;
Database altered.
问题解决,希望可以帮到大家。