今天在虚拟机上安装oracle实验实例的时候报错
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
USER: terminating instance due to error 600
并且,重启之后也无法解决,首先到metalink上查询该问题:
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.3 - Release: 10.2 to 10.2
Information in this document applies to any platform.
***Checked for relevance on 09-Jun-2010***
An startup nomount on Oracle 10g Release 2 database produces the following exception in alert log
Starting up ORACLE RDBMS Version: 10.2.0.1.0.
Errors in file /opt/oracle/10.2/admin/ORCL/udump/ORCL_ora_535.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
USER: terminating instance due to error 600
Instance terminated by USER, pid = 535
The problem is related to get the host information.
In this case, ldmInit()/sldmInit() is failing with error 46 : LDMERR_HOST_NOT_FOUND
The following exception may also occur :
LDMERR_SOSD_INIT OSD init failed to be specific in these OSD failures
LDMERR_BAD_ADDR bad address when system call gethostname failed
LDMERR_HOST_NOT_FOUND gethostbyname system call fails
LDMERR_NO_SUPPORT when specific address type is not supported
Development has fixed two bugs so far regarding this issue
Note:5438154.8 - ORA-600[KELTNFY-LDMINIT] STARTING THE DB
Release Notes:
ldmInit returned LDMERR_HOST_NOT_FOUND for the machine huge alias list/address list
Workaround:
reduce the alais list of the machine
Note:5486074.8 - ORA-600 [KELTNFY-LDMINIT] WHEN DNS IS NOT AVAILABLE
Release Notes:
Internal error is raised by the Server Generated Alert subsystem when it can not determine Host Name or
Network Address. This can be caused by DNS server being unavailable.
Refer to the Note above for version that contains these fixes.
The patch for 5486074 will not fix any underlying error from gethostbyname(), it just change the internal error to a warning message :
"Warning: keltnfy call to ldmInit failed with error 46"
You will still need to fix the network configuration issue.
These are the check you can do verify the host information
Check permission on /etc/hosts
$ ls -l /etc/hosts
-rw-r--r-- 2 root root 194 Oct 17 2006 /etc/hosts
Check if /etc/hosts file is correctly configured
( all of this on one line ).
Check the hostname:
$ hostname
$ ping `hostname`
Make sure you are able to ping the hostname
Check if /etc/nodename is correctly configured
If you have DNS setup, ping is not a tool to diagnose DNS problem. A better tool to use is nslookup, dnsquery, or dig.
$ nslookup
$ nslookup
$ nslookup
The forward and reverse lookup should succeed and return consistent address/info.
Check nsswitch.conf
$ more nsswitch.conf
hosts: files dns
Make sure host lookup is also done through the /etc/hosts file and not just dns.
It is recommended that FILES come first before DNS.
Also, check the resolv.conf. This makes sure that the DNS is working properly.
同时参考http://space.itpub.net/4227/viewspace-231094 ,发现Linux机器的hostname在/etc/hosts中没有体现。
修改完该文件之后,再次运行dbca建库,顺利完成。