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 ?

Oraclemeatlink上文档Doc ID:  Note:5486074.8的描述:当Oracle无法确定主机名或者网络地址的时候,会出现这个错误信息。

Oracle10.2.0.411.1.0.6中解决了这个bugOraclemetalink上指出在10.2.0.4以前的都可能导致这个错误的产生。

不过测试发现Oracle9i并不会由于修改hostname而导致错误的产生。

 
 





Startup Database Produces ORA-00600: [Keltnfy-Ldminit] (Doc ID 336447.1)  



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

 

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  

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 failuresLDMERR_BAD_ADDR   bad address when system call gethostname failedLDMERR_HOST_NOT_FOUND    gethostbyname system call failsLDMERR_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 AVAILABLERelease 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 :

 

"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.

To prevent the ORA-600 error, you can upgrade to any supported version of the database or apply the  10.2.0.4 patch set.

This issue is fixed in     

    10.2.0.4 (Server Patch Set)
    11.1.0.6 (Base Release)


REFERENCES

NOTE:5486074.8   - Bug 5486074 - OERI [keltnfy-ldminit] when DNS is not available  
- ORA-600 [KELTNFY-LDMINIT] STARTING THE DB  
- ORA-600 [KELTNFY-LDMINIT] WHEN DNS IS NOT AVAILABLE  




   
 

ORA-600 [keltnfy-ldminit] (Doc ID 462888.1) To Bottom

Modified:Nov 16, 2016Type:REFERENCEStatus:PUBLISHED

     

 Note: For additional ORA-600 related information please read Note:146580.1 PURPOSE:  This article represents a partially published OERI note.  It has been published because the ORA-600 error has been   reported in at least one confirmed bug.  Therefore, the SUGGESTIONS section of this article may help  in terms of identifying the cause of the error.  This specific ORA-600 error may be considered for full publication  at a later date. If/when fully published, additional information   will be available here on the nature of this error.SUGGESTIONS:  If the Known Issues section below does not help in terms of identifying  a solution, please submit the trace files and alert.log to Oracle   Support Services for further analysis.  Known Issues: Related Articles 

     

Note:336447.1 Startup Database Produces ORA-00600: [Keltnfy-Ldminit]
     

Bug# 5486074 See      Note:5486074.8 OERI [keltnfy-ldminit] when DNS is not available Fixed: 10.2.0.4, 11.1.0.6 Bug# 5438154 ORA-600[KELTNFY-LDMINIT] STARTING THE DB Fixed: 10.2.0.4, 11.1

 



OS:redhat 4.3 x86

DB:10.2.0.1

今天在物化视图远程复制的测试中,关闭一数据库后重启,出现ora-600报错,让我们分析一下:

[oracle@prod1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 – Production on Thu Jul 19 10:54:15 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

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

查看日志:

[oracle@prod1 bdump]$ tail -f alert_prod1.log
core_dump_dest = /u01/app/oracle/admin/prod1/cdump
audit_file_dest = /u01/app/oracle/admin/prod1/adump
db_name = prod1
open_cursors = 300
pga_aggregate_target = 94371840
Thu Jul 19 10:54:19 2012
Errors in file /u01/app/oracle/admin/prod1/udump/prod1_ora_4184.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
USER: terminating instance due to error 600
Instance terminated by USER, pid = 4184

按照alert日志提示去udump找错误信息

[oracle@prod1 udump]$ tail -f prod1_ora_4184.trc
KCBS: nbseg[15] is 0
KCBS: nbseg[16] is 0
KCBS: nbseg[17] is 0
KCBS: nbseg[18] is 0
KCBS: nbseg[19] is 0
KCBS: Act cnt = 0
KSOLS: Begin dumping all object level stats elements
KSOLS: Done dumping all elements. Exiting.
Dump event group for SESSION
Unable to dump event group – no SESSION state objectDump event group for SYSTEM

通过在metalink上的查询【Startup Database Produces ORA-00600: [Keltnfy-Ldminit] [ID 336447.1]】该文章提到该错误是由于网络配置引起的,并建议检查hosts文件,使我突然联想到在关闭重启之前为了方便记忆改过一次hostname并只写进network里但没有对hosts文件进行更新。

好,找到问题所在,修改hosts文件,重启数据库

[oracle@prod1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 – Production on Thu Jul 19 11:18:39 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 71304784 bytes
Database Buffers 209715200 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL>

数据库正常启动!

在生产环境中大家切记不可轻易修改主机名,一不小心就会触发该BUG,如果确实要修改请把新的主机名写进/etc/hosts和/etc/sysconfig/network这两个文件。

至此,该ORA-600问题解决!

 

©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 一步一步搭建11gR2 rac+dg之配置单实例的DG(八)
  2. 【BBED】 SYSTEM文件头损坏的恢复(4)
  3. 【等待事件】日志类 等待事件(4.1)--log file switch(日志文件切换)
  4. 如何正确的删除表空间数据文件
  5. DBCA静默方式建库
  6. SD卡插上一体机时显示文件或目录损坏且无法读取请问咋才能修复
  7. 【DB笔试面试490】 如何导出csv和html文件?
  8. NAO机器人py文件植入
  9. 企业服务器中了.PGP后缀的勒索病毒该如何处理?

随机推荐

  1. 暴风拒付离职赔偿,竟把锅甩给了人事
  2. 阿里程序员:加班是我自愿,我做错了什么?
  3. 网传360大规模裁员 公司否认:这是常规考核
  4. Android开发基本篇(二)
  5. 一条失去条件的动态 SQL,到手的年终奖飞了
  6. 又一家公司倒闭,阿里还是它的二股东
  7. vivo发年终奖了,几十个月,几十万,酸了
  8. 面试的时候,99%都是这7道题
  9. 面试官:我裤子拉链开了你怎么提醒我?
  10. 公司逼走员工的几个套路,你有中招吗?