数据库启动遭遇ORA-00600: [keltnfy-ldmInit][46], [1]

[oracle@localhost ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.3.0 - Production on Sun Jun 17 03:32:27 2007

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup

ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []

原因:

服务器hostname没有正确配置,通过hostname命令得到的主机名无法ping通,Oracle10g认为主机无法达到所以启动数据库报错。原来昨天有人更改了主机名,检查一下本机的hosts文件,发现因为修改主机名的时候没有把hosts文件对应的主机名做对应的修改,从而引发这个错误。

解决方法:

将hostname添加到/etc/hosts文件中,重新启动数据库。

解释:

如果出现这个bug时,启动实例时报ORA-00600: [keltnfy-ldmInit], [46]错误,如果没有创建数据库,将无法创建数据库,同时sqlplus连接数据库会非常慢,这时大家可以用lsof去看sqlplus进程在干什么。

在10gR2+rhel4u1中,一般不要随便修改机器的名称,如果要修改机器名,稍一不慎重,就有可能会触发ORA-00600: [keltnfy-ldmInit], [46]这样的错误,查metalink没有找到任何信息,最严重的结果是实例无法启动,如果一定要修改机器名,需要修改的比较彻底,需要修改/etc/hosts,/etc/sysconfig/network这两个文件,如果忘了将/etc/hosts中127.0.0.1对应的机器修改成network文件中的一样,将会导致上面描述的错误。

ps: 我在startup数据库的时候遇到了完全相同的问题,后来在网上搜到了相关文章,修改了/etc/hosts之后可以启动。Note:在oracle运行时修改ip或者相关文件,不只会导致数据库down掉,而且会导致oem在数据库启动之后无法启动。需要recreate dbconsole, 相关内容请参考另一篇日志~

ps2:oracle errors like ora-00600 and ora-7445, once encountered, you must input the whole error message(mybe not whole, but pls be more detailed) including arguments [46] [1] etc. Then you can get the most close solution.

请使用浏览器的分享功能分享到微信等