旧控制文件,新日志,怎样恢复?

步骤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.

问题解决,希望可以帮到大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值