[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.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9765498/viewspace-211661/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9765498/viewspace-211661/