ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
Oracle10g由于修改主机名数据库实例崩溃,且出现ORA-600(keltnfy-ldmInit)错误。
同事在升级一个测试库的过程中碰到了这个问题,由于通过hostname命令修改了主机名称,导致Oracle 10201 for Linux X86-64环境出现实例崩溃,在alert文件中出现了ORA-600(keltnfy-ldmInit)错误。
在alert文件中出现下面的错误信息:
Errors in file /opt/ora10g/admin/testzj/udump/testzj_ora_4109.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
USER: terminating instance due to error 600
Instance terminated by USER, pid = 4109
对应的trace文件中,详细信息如下:
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
Current SQL information unavailable - no session.
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+31 call ksedst1() 000000000 ? 000000001 ?
000000000 ? 000000000 ?
000000000 ? 000000001 ?
ksedmp()+610 call ksedst() 000000000 ? 000000001 ?
000000000 ? 000000000 ?
000000000 ? 000000001 ?
ksfdmp()+21 call ksedmp() 000000003 ? 000000001 ?
000000000 ? 000000000 ?
000000000 ? 000000001 ?
kgerinv()+161 call ksfdmp() 000000003 ? 000000001 ?
000000000 ? 000000000 ?
000000000 ? 000000001 ?
kgeasnmierr()+163 call kgerinv() 006579D40 ? 2AAAACA10118 ?
000000000 ? 000000000 ?
000000001 ? 000000001 ?
keltnfy()+286 call kgeasnmierr() 006579D40 ? 2AAAACA10118 ?
000000000 ? 000000000 ?
Oracle的meatlink上文档Doc ID: Note:5486074.8的描述:当Oracle无法确定主机名或者网络地址的时候,会出现这个错误信息。
Oracle在10.2.0.4和11.1.0.6中解决了这个bug。Oracle的metalink上指出在10.2.0.4以前的都可能导致这个错误的产生。
不过测试发现Oracle9i并不会由于修改hostname而导致错误的产生。
In this Document
Symptoms |
Cause |
Solution |
References |
APPLIES TO:
Oracle Database - Enterprise Edition - Version 10.2.0.1 to 10.2.0.3 [Release 10.2]Information in this document applies to any platform.
***Checked for relevance on 10-Jan-2014***
SYMPTOMS
*Symptoms
Briefly describe the symptoms of the problem. Remember to delete any customer specific information
An startup nomount on Oracle 10g Release 2 database produces the following exception in alert log
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
CAUSE
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 - 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.
SOLUTION
The patch for 5486074 will not fix any underlying error from gethostbyname(), it just change the internal error to a warning message :
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
>
>
>