ORA-00600[kcratr_nab_less_than_odr]

上午,一开发同事的测试数据库打不开,因为是测试库,我就直接shutdown abort+startup了(按理说不应该日志都不看就直接shutdown的),数据库mount后没有正常打开,报错:

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [x],
[xx], [xxx], [xxxx], [], [], [], [], [], [], []

 百度了一下,随便点了一个进去,看里面的操作是重建控制文件然后recover database,嫌建控制文件麻烦,我就用了

recover database using backup controlfile until cancel;

在提示Specify log: {<ret>=suggested | filename | AUTO | CANCEL}的时候 我点了auto

然后就提示我归档日志不存在

这种问题我之前遇到过,其实报错的这个归档文件还没生成,需要去找到current redo然后apply就行

抱着试一下心态,把cuurent redo的路径粘了进去,果然Media recovery complete了(贼开心)

然后alter database open resetlogs; 顺利打开数据库(using backup controlfile后必须使用resetlogs才能打开数据库)

 

解决完后又深入的了解了下:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [:b1],[:b2], [:b3], [:b4], [], [], [], [], [], [], []

对应alert里面的信息为

WARNING! Crash recovery of thread :b1 seq :b2 is ending at redo block :b3 but should not have ended before redo block :b4 

 

这个报错应该是由于服务器异常断电,导致LGWR写联机日志文件时失败,下次重新启动数据库时,需要做实例级恢复,而又无法从联机日志文件里获取到这些redo信息,因为上次断电时,写日志失败了,实例需要恢复到:b4(On-Disk Rba) 但是现在只能回复到:b3,数据库认为恢复异常,就抛出错误。

MOS Alter database open fails with ORA-00600 kcratr_nab_less_than_odr (Doc ID 1296264.1)

参考链接:

http://www.eygle.com/archives/2010/05/kcratr_nab_less_than_odr.html

http://blog.itpub.net/30430420/viewspace-1799925/

http://www.xifenfei.com/2012/01/ora-00600kcratr_nab_less_than_odr%E6%95%85%E9%9A%9C%E8%A7%A3%E5%86%B3.html

http://www.oracleonlinux.cn/2012/11/ora-600-kcratr-nab-less-than-odr/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值