数据库恢复时遭遇ORA-01152

故障现象:
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: '+OCR/eisoo/datafile/system.256.901474327'

故障原因:
在一次全库恢复中,首先恢复控制文件,恢复成功,但是在恢复数据文件的时候发现其中有一个数据文件不存在,导致数据文件恢复失败

分析:由于此时控制文件是从备份中恢复,而数据库文件还是原来的文件,controlfile里所记录的scn与datafile里的scn不一致,数据库open是抛错

解决办法:
以datafile上的scn为基准,将controlfile恢复到与datafile scn一致(这样能够保证数据不丢失,但是前提是归档日志存在)

SQL> recover database using backup controlfile;
ORA-00279: change 2782940 generated at 05/20/2016 17:36:28 needed for thread 1
ORA-00289: suggestion : +DATA/logs/1_14_912180304.dbf
ORA-00280: change 2782940 for thread 1 is in sequence #14


Specify log: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 2782940 generated at 05/20/2016 17:36:28 needed for thread 2
ORA-00289: suggestion : +DATA/logs/2_9_912180304.dbf
ORA-00280: change 2782940 for thread 2 is in sequence #9


ORA-00279: change 2782956 generated at 05/20/2016 17:37:51 needed for thread 2
ORA-00289: suggestion : +DATA/logs/2_10_912180304.dbf
ORA-00280: change 2782956 for thread 2 is in sequence #10
ORA-00278: log file '+DATA/logs/2_9_912180304.dbf' no longer needed for this
recovery


ORA-00308: cannot open archived log '+DATA/logs/2_10_912180304.dbf'
ORA-17503: ksfdopn:2 Failed to open file +DATA/logs/2_10_912180304.dbf
ORA-15173: entry '2_10_912180304.dbf' does not exist in directory 'logs'

根据提示还缺少三个日志文件,但是查看归档如下:
2_8_911148576.dbf
2_8_911161131.dbf
2_8_912180304.dbf
2_9_902230546.dbf
2_9_911148576.dbf
2_9_911161131.dbf
2_9_912180304.dbf

归档中日志序列号只到9(只看912180304对应文件),说明所需数据在联机日志组中
SQL> recover database using backup controlfile;
ORA-00279: change 2782956 generated at 05/20/2016 17:37:51 needed for thread 2
ORA-00289: suggestion : +DATA/logs/2_10_912180304.dbf
ORA-00280: change 2782956 for thread 2 is in sequence #10


Specify log: {=suggested | filename | AUTO | CANCEL}
+ocr/eisoo/onlinelog/group_4.266.901474871
ORA-00279: change 2782956 generated at 05/20/2016 17:36:28 needed for thread 1
ORA-00289: suggestion : +DATA/logs/1_14_912180304.dbf
ORA-00280: change 2782956 for thread 1 is in sequence #14


Specify log: {=suggested | filename | AUTO | CANCEL}
+ocr/eisoo/onlinelog/group_2.262.901474597
ORA-00279: change 2782961 generated at 05/20/2016 17:37:53 needed for thread 1
ORA-00289: suggestion : +DATA/logs/1_15_912180304.dbf
ORA-00280: change 2782961 for thread 1 is in sequence #15
ORA-00278: log file '+ocr/eisoo/onlinelog/group_2.262.901474597' no longer
needed for this recovery


Specify log: {=suggested | filename | AUTO | CANCEL}
+ocr/eisoo/onlinelog/group_1.261.901474589
ORA-00288: to continue recovery type ALTER DATABASE RECOVER CONTINUE
ORA-00278: log file '+ocr/eisoo/onlinelog/group_1.261.901474589' no longer
needed for this recovery


Log applied.
Media recovery complete.

SQL> alter database open resetlogs;

Database altered.


成功!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30373263/viewspace-2103947/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30373263/viewspace-2103947/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值