ORA-00600: [keltnfy-ldmInit]


1:今天重启数据库的报错:

SQL> startup mount
ORA-03113: end-of-file on communication channel

看一下alert.log:
...
PMON started with pid=2, OS id=7359
PSP0 started with pid=3, OS id=7361
MMAN started with pid=4, OS id=7363
DBW0 started with pid=5, OS id=7365
LGWR started with pid=6, OS id=7381
Tue Feb  7 15:25:17 2012
Errors in file /u01/pp/Oracle/admin/ezhou/bdump/ezhou_ckpt_7383.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
Tue Feb  7 15:25:18 2012
Errors in file /u01/pp/oracle/admin/ezhou/bdump/ezhou_ckpt_7383.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
Tue Feb  7 15:25:18 2012
CKPT: terminating instance due to error 469
Instance terminated by CKPT, pid = 7383

-------------
[oracle@aoracle bdump]$ vi /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               aoracle.domain.com aoracle localhost.localdomain localhost
::1             localhost6.     localdomain6 localhost6
#192.168.158.10  aoracle.domain.com     aoracle
192.168.142.128  sheng

[oracle@aoracle bdump]$ hostname
aoracle.domain.com

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

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


注意,一定要将:
/etc/sysconfig/network 和/etc/hosts 里的hostname 改成一致,还有/etc/hosts里的127.0.0.0.1 不要注释掉。
如果忘了将/etc/hosts中127.0.0.1对应的机器修改成network文件中的一样,将会导致上面描述的错误。

相关内容