案例二
数据库无法启动,报如下错误:
ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [267], [12005],
[12490], [], [], [], [], [], [], []
出现原因:
可能是因为异常的关机导致数据库写scn不一致。
环境:
windows xp
oracle 11g
问题引出:
监听服务状态正常的应该是ready(动态监听)或unknown(静态监听),而出现问题时显示的是blocked。初步判断是监听出现了错误,但是经过几次调试确认后,没有发现监听存在问题,而且同事并未改动此配置文件(listener.ora)。而且每次起来后,静态监听状态时unknown,而通过实例注册后变成了blocked,通过连接串登录也还是出现错误。此时判断是否是实例错误,因此shutdown后,startup实例,出现如本文开始时所描述的错误信息。错误出现在open阶段,说明是打开实例时出现的问题,数据库层面没有问题。再根据网上的几个重要的参考信息,推断可能是因为控制文件与数据文件的scn不一致导致的。所以关键是要将控制文件恢复到与数据文件一致的点。可以通过recover database until cancel来实现恢复。此后,通过备份控制文件backup controlfile to trace,然后到trc文件中找打相应的恢复方法,直接按步骤恢复即可。
参考链接:
http://www.eygle.com/archives/2010/05/kcratr_nab_less_than_odr.html#comments
http://space.itpub.net/8183550/viewspace-663716
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12932950/viewspace-729895/
,如需转载,请注明出处,否则将追究法律责任。