今天在部署一套10g Oracle(10.2.0.1版本)的过程中,偶遇ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []错误。

借此机会小结一下,记得汲取经验和教训 -- 细节决定成败!

1.问题原因
经过深入的逆向推导,最终柳暗花明。
“真相”在此(是不是这样的叙述方式来的太直接了,不过这样才符合咱们“技术性格”):
我们亲爱的SA同学是在做完系统后修改的主机名,不过在主机名修改得有点不彻底,仅仅修改了/etc/sysconfig/network配置文件,而没有修改/etc/hosts文件。
因此,/etc/hosts文件中没有hostname信息,这样,在使用ping命令ping主机名时将导致无效!进而导致Oracle的一系列异常。

2.问题影响
目前发现的三个影响
1)sqlplus中无法启动实例
2)无法使用netca创建监听
3)无法使用dbca创建实例
上面三种影响在下文中有详细的报错说明。

3.问题处理
一句话:在hosts文件中添加主机名字"ssm"。
修改前的hosts文件内容如下:
[root@ ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
修改后的hosts文件内容如下:
[root@ssm ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               ssm localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6

4.针对上面第2点提到的三种影响,下面分别罗列一下具体的报错信息,以供您有一个感性的认识
问题现象一:sqlplus中无法启动实例
psdb@ssm /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Fri Jun 5 23:37:21 2009

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], [], [], [], [], []

问题现象二:无法使用netca创建监听
psdb@ssm /home/oracle$ netca

Oracle Net Services Configuration:

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x3262F3
Function=index+0x63
Library=/lib/libc.so.6

Current Java thread:
        at oracle.net.common.NetGetEnv.getDNSDomain(Native Method)
        at oracle.net.ca.ConfigureProfile.setDefaultProfileParams(Unknown Source)
        at oracle.net.ca.InitialSetup.setupConfigObjects(Unknown Source)
        at oracle.net.ca.InitialSetup.<init>(Unknown Source)
        at oracle.net.ca.NetCA.main(Unknown Source)

Dynamic libraries:
00295000-002af000 r-xp 00000000 fd:00 62981066                           /lib/ld-2.5.so
002af000-002b0000 r-xp 00019000 fd:00 62981066                           /lib/ld-2.5.so
002b0000-002b1000 rwxp 0001a000 fd:00 62981066                           /lib/ld-2.5.so
002b7000-003f5000 r-xp 00000000 fd:00 62980113                           /lib/libc-2.5.so
003f5000-003f7000 r-xp 0013e000 fd:00 62980113                           /lib/libc-2.5.so
003f7000-003f8000 rwxp 00140000 fd:00 62980113                           /lib/libc-2.5.so
003fd000-003ff000 r-xp 00000000 fd:00 62980120                           /lib/libdl-2.5.so
003ff000-00400000 r-xp 00001000 fd:00 62980120                           /lib/libdl-2.5.so
00400000-00401000 rwxp 00002000 fd:00 62980120                           /lib/libdl-2.5.so
00403000-00416000 r-xp 00000000 fd:00 62980126                           /lib/libpthread-2.5.so
00416000-00417000 r-xp 00012000 fd:00 62980126                           /lib/libpthread-2.5.so
00417000-00418000 rwxp 00013000 fd:00 62980126                           /lib/libpthread-2.5.so
0043e000-00440000 r-xp 00000000 fd:00 43654099                           /usr/lib/libXau.so.6.0.0
00440000-00441000 rwxp 00001000 fd:00 43654099                           /usr/lib/libXau.so.6.0.0
00465000-0046a000 r-xp 00000000 fd:00 43654534                           /usr/lib/libXdmcp.so.6.0.0
0046a000-0046b000 rwxp 00004000 fd:00 43654534                           /usr/lib/libXdmcp.so.6.0.0
00477000-0049c000 r-xp 00000000 fd:00 62980152                           /lib/libm-2.5.so
0049c000-0049d000 r-xp 00024000 fd:00 62980152                           /lib/libm-2.5.so
0049d000-0049e000 rwxp 00025000 fd:00 62980152                           /lib/libm-2.5.so
004a0000-004af000 r-xp 00000000 fd:00 62980177                           /lib/libresolv-2.5.so
004af000-004b0000 r-xp 0000e000 fd:00 62980177                           /lib/libresolv-2.5.so
004b0000-004b1000 rwxp 0000f000 fd:00 62980177                           /lib/libresolv-2.5.so
0059b000-0069a000 r-xp 00000000 fd:00 43654980                           /usr/lib/libX11.so.6.2.0
0069a000-0069e000 rwxp 000ff000 fd:00 43654980                           /usr/lib/libX11.so.6.2.0
0079e000-007ad000 r-xp 00000000 fd:00 43656439                           /usr/lib/libXext.so.6.4.0
007ad000-007ae000 rwxp 0000e000 fd:00 43656439                           /usr/lib/libXext.so.6.4.0
007b0000-007b8000 r-xp 00000000 fd:00 43653377                           /usr/lib/libSM.so.6.0.0
007b8000-007b9000 rwxp 00007000 fd:00 43653377                           /usr/lib/libSM.so.6.0.0
007bb000-007d2000 r-xp 00000000 fd:00 43658111                           /usr/lib/libICE.so.6.3.0
007d2000-007d3000 rwxp 00016000 fd:00 43658111                           /usr/lib/libICE.so.6.3.0
007d7000-007ea000 r-xp 00000000 fd:00 62980164                           /lib/libnsl-2.5.so
007ea000-007eb000 r-xp 00012000 fd:00 62980164                           /lib/libnsl-2.5.so
007eb000-007ec000 rwxp 00013000 fd:00 62980164                           /lib/libnsl-2.5.so
00963000-00968000 r-xp 00000000 fd:00 43676661                           /usr/lib/libXtst.so.6.1.0
00968000-00969000 rwxp 00004000 fd:00 43676661                           /usr/lib/libXtst.so.6.1.0
00c55000-00ca9000 r-xp 00000000 fd:00 43665272                           /usr/lib/libXt.so.6.0.0
00ca9000-00cad000 rwxp 00054000 fd:00 43665272                           /usr/lib/libXt.so.6.0.0
08048000-08056000 r-xp 00000000 fd:00 10072580                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java
08056000-08059000 rwxp 0000d000 fd:00 10072580                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java
0814f000-084e7000 rwxp 0814f000 00:00 0                                  [heap]
e90de000-e90eb000 r-xp 00000000 fd:00 10066315                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libldapjclnt10.so
e90eb000-e90ed000 rwxp 0000c000 fd:00 10066315                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libldapjclnt10.so
e90ed000-e92cb000 r-xp 00000000 fd:00 10066229                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libnnz10.so
e92cb000-e92f2000 rwxp 001dd000 fd:00 10066229                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libnnz10.so
e92f3000-ea05c000 r-xp 00000000 fd:00 10063690                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libclntsh.so.10.1
ea05c000-ea0be000 rwxp 00d68000 fd:00 10063690                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libclntsh.so.10.1
ea0d2000-ea0e7000 r-xp 00000000 fd:00 10066228                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libnjni10.so
ea0e7000-ea0eb000 rwxp 00014000 fd:00 10066228                           /oracle/app/oracle/product/10.2.0/db_1/lib32/libnjni10.so
ea0eb000-ea213000 r-xs 00000000 fd:00 10067448                           /oracle/app/oracle/product/10.2.0/db_1/lib/xmlparserv2.jar
ea213000-ea266000 r-xp 00000000 fd:00 10072526                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libmlib_p_w_picpath.so
ea266000-ea267000 rwxp 00052000 fd:00 10072526                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libmlib_p_w_picpath.so
ea267000-ea538000 r-xp 00000000 fd:00 10072509                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libawt.so
ea538000-ea54e000 rwxp 002d0000 fd:00 10072509                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libawt.so
ea573000-ea915000 r-xs 00000000 fd:00 10070526                           /oracle/app/oracle/product/10.2.0/db_1/oui/jlib/OraInstaller.jar
ea915000-ea923000 r-xs 00000000 fd:00 10064692                           /oracle/app/oracle/product/10.2.0/db_1/jlib/srvmhas.jar
ea923000-ea9ec000 r-xs 00000000 fd:00 10064690                           /oracle/app/oracle/product/10.2.0/db_1/jlib/srvm.jar
ea9ec000-ea9fa000 r-xs 00000000 fd:00 10064405                           /oracle/app/oracle/product/10.2.0/db_1/jlib/ewtcompat-3_3_15.jar
ea9fa000-eaa08000 r-xs 00000000 fd:00 10068245                           /oracle/app/oracle/product/10.2.0/db_1/jlib/share.jar
eaa08000-eaabd000 r-xs 00000000 fd:00 10067885                           /oracle/app/oracle/product/10.2.0/db_1/jlib/oracle_ice.jar
eaabd000-eac64000 r-xs 00000000 fd:00 10067883                           /oracle/app/oracle/product/10.2.0/db_1/jlib/jewt4.jar
eac64000-eacc9000 r-xs 00000000 fd:00 10067431                           /oracle/app/oracle/product/10.2.0/db_1/jlib/help4.jar
eacc9000-eaf4e000 r-xs 00000000 fd:00 10067887                           /oracle/app/oracle/product/10.2.0/db_1/jlib/ewt3.jar
eaf4e000-eaf66000 r-xs 00000000 fd:00 10064512                           /oracle/app/oracle/product/10.2.0/db_1/jlib/jndi.jar
eaf66000-eafab000 r-xs 00000000 fd:00 10064495                           /oracle/app/oracle/product/10.2.0/db_1/ldap/oidadmin/dasnls.jar
eafab000-eafb7000 r-xs 00000000 fd:00 10064854                           /oracle/app/oracle/product/10.2.0/db_1/jlib/jssl-1_1.jar
eafb7000-eb000000 r-xs 00000000 fd:00 10068087                           /oracle/app/oracle/product/10.2.0/db_1/jlib/netcfg.jar
eb000000-eb098000 r-xs 00000000 fd:00 10065789                           /oracle/app/oracle/product/10.2.0/db_1/jlib/ldapjclnt10.jar
eb098000-eb0ca000 r-xs 00000000 fd:00 10064328                           /oracle/app/oracle/product/10.2.0/db_1/network/jlib/netca.jar
eb0ca000-eb0f0000 r-xs 00000000 fd:00 10064329                           /oracle/app/oracle/product/10.2.0/db_1/network/jlib/netcam.jar
eb0f0000-eb0fd000 r-xs 00000000 fd:00 10072498                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/ldapsec.jar
eb0fd000-eb142000 r-xs 00000000 fd:00 10072680                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/mail.jar
eb142000-eb1fe000 r-xs 00000000 fd:00 10072499                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/localedata.jar
eb404000-eb408000 r-xp 00000000 fd:00 62980134                           /lib/libnss_dns-2.5.so
eb408000-eb409000 r-xp 00003000 fd:00 62980134                           /lib/libnss_dns-2.5.so
eb409000-eb40a000 rwxp 00004000 fd:00 62980134                           /lib/libnss_dns-2.5.so
eb40a000-eb411000 r-xp 00000000 fd:00 43675743                           /usr/lib/libXp.so.6.2.0
eb411000-eb412000 rwxp 00006000 fd:00 43675743                           /usr/lib/libXp.so.6.2.0
eb412000-eb42e000 r-xs 00000000 fd:00 10072500                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/sunjce_provider.jar
eb42e000-eb43c000 r-xs 00000000 fd:00 10072683                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/activation.jar
eb43c000-eb43f000 r-xs 00000000 fd:00 10072682                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/smtp.jar
eb43f000-eb442000 r-xs 00000000 fd:00 10072679                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/jta.jar
eb442000-eb468000 r-xs 00000000 fd:00 10072681                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/mailapi.jar
eb468000-eb46b000 r-xs 00000000 fd:00 10072497                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext/dnsns.jar
eb56d000-eb76d000 r-xp 00000000 fd:00 43650944                           /usr/lib/locale/locale-archive
f5a19000-f5fb9000 r-xs 00000000 fd:00 10072045                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/charsets.jar
f5fb9000-f5fca000 r-xs 00000000 fd:00 10072083                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/jce.jar
f5fca000-f60a7000 r-xs 00000000 fd:00 10072084                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/jsse.jar
f60a7000-f60bd000 r-xs 00000000 fd:00 10072092                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/sunrsasign.jar
f6107000-f7ab2000 r-xs 00000000 fd:00 10072091                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/rt.jar
f7ab2000-f7ac6000 r-xp 00000000 fd:00 10072532                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libzip.so
f7ac6000-f7ac9000 rwxp 00013000 fd:00 10072532                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libzip.so
f7ac9000-f7ae9000 r-xp 00000000 fd:00 10072517                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libjava.so
f7ae9000-f7aeb000 rwxp 0001f000 fd:00 10072517                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libjava.so
f7aeb000-f7afb000 r-xp 00000000 fd:00 10072531                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libverify.so
f7afb000-f7afd000 rwxp 0000f000 fd:00 10072531                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/libverify.so
f7afd000-f7b01000 rwxs 00000000 fd:00 2195458                            /tmp/hsperfdata_oracle/7416
f7b01000-f7b0a000 r-xp 00000000 fd:00 62980136                           /lib/libnss_files-2.5.so
f7b0a000-f7b0b000 r-xp 00008000 fd:00 62980136                           /lib/libnss_files-2.5.so
f7b0b000-f7b0c000 rwxp 00009000 fd:00 62980136                           /lib/libnss_files-2.5.so
f7b0c000-f7b14000 r-xp 00000000 fd:00 10072539                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/native_threads/libhpi.so
f7b14000-f7b15000 rwxp 00007000 fd:00 10072539                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/native_threads/libhpi.so
f7b15000-f7f1b000 r-xp 00000000 fd:00 10072538                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/client/libjvm.so
f7f1b000-f7f36000 rwxp 00405000 fd:00 10072538                           /oracle/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i386/client/libjvm.so
ffc34000-ffc4a000 rwxp 7ffffffe9000 00:00 0                              [stack]

Heap at VM Abort:
Heap
 def new generation   total 576K, used 501K [0xeb970000, 0xeba10000, 0xebe50000)
  eden space 512K,  90% used [0xeb970000, 0xeb9e3fc8, 0xeb9f0000)
  from space 64K,  58% used [0xeba00000, 0xeba09550, 0xeba10000)
  to   space 64K,   0% used [0xeb9f0000, 0xeb9f0000, 0xeba00000)
 tenured generation   total 1408K, used 535K [0xebe50000, 0xebfb0000, 0xef970000)
   the space 1408K,  38% used [0xebe50000, 0xebed5fd0, 0xebed6000, 0xebfb0000)
 compacting perm gen  total 4096K, used 3583K [0xef970000, 0xefd70000, 0xf3970000)
   the space 4096K,  87% used [0xef970000, 0xefcefc20, 0xefcefe00, 0xefd70000)

Local Time = Fri Jun  5 23:28:39 2009
Elapsed Time = 0
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_08-b03 mixed mode)
#
# An error report file has been saved as hs_err_pid7416.log.
# Please refer to the file for further information.
#
/oracle/app/oracle/product/10.2.0/db_1/bin/netca: line 190:  7416 Aborted                 $JRE -mx64m $SRVM_PROPERTY_DEFS -Dsun.java2d.font.DisableAlgorithmicStyles=true -classpath $CLASSPATH oracle.net.ca.NetCA $*
psdb@ssm /home/oracle$

问题现象三:无法使用dbca创建实例
在使用dbca图形化界面创建数据库实例的时候有两种错误形式。
第一种报错形式和上面netca报错信息类似。
第二种报错形式是,在确认创建数据库的时候,弹出一个小对话框提示ORA-00600 [keltnfy-ldmInit], [46]错误。

如果您尝试在数据库启动之后将hosts文件中的hostname去掉的话,还会得到另外一种报错形式,如下:
ora10g@ssm /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Sat Jun 6 01:46:02 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected.
ERROR:
ORA-01012: not logged on

因为这个小小的错误会导致上述如此百花多样的错误,有趣的很。希望您在读过这个文章之后,不要再遇到这样的错误。

4.Metalink相关描述
针对上面提到的“问题现象一”错误,Metalink上有篇详细描述的文章,又进一步探索需求的朋友可以参考一下:
Startup Database Produces Ora-00600: [Keltnfy-Ldminit]
      Doc ID:     336447.1     Type:     PROBLEM
      Modified Date :     23-OCT-2008     Status:     PUBLISHED

文章中提到无法启动数据库的原因是:
The problem is related to getting host information.

可能出现这个错误的版本和平台信息如下:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.3

This problem can occur on any platform.

5.小结
通过这个小问题得到一个宝贵经验:不要放过任何一个细节,深入其中,必有所获。

就这个ORA-00600问题,请您在修改主机名的时候一定要注意:
在修改Linux主机名的时候一定记得需要修改的文件一共有两个
第一个文件是:/etc/sysconfig/network
第二个文件时:/etc/hosts

数据库从操作系统到数据库的详细部署建议由DBA全程负责,认真做好每一步骤的规划。