Startup Database Produces ORA-00600 : [keltnfy-ldmInit] [46]

DB版本: 10.2.0.1.0

OS版本: CentOS 5.3 x86_64

开发人员反映无法连接数据库,随即登陆Oracle进行排查.

$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Dec 8 15:57:53 2014
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.  -- 此处已经提示无法识别到Oracle实例了

SQL> startup  -- 试着启动数据库,提示ORA-00600错误
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []


随即查看alert的日志.

$ tail -f $ORACLE_BASE/admin/orcl/bdump/alert_orcl.log
Errors in file $ORACLE_BASE/admin/orcl/udump/orcl_ora_21456.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
USER: terminating instance due to error 600
Instance terminated by USER, pid = 21456

继续查看trc日志.

$ tail -f $ORACLE_BASE/admin/orcl/udump/orcl_ora_21456.trc

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上查询到类似问题的文章

#Symptoms
#briefly describe ths 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

String 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, IdmInit()/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 call fails
LDMERR_NO_SUPPORT when specific address type is not supported
Development has fixed two bugs so far regarding this issue
Bug:5438154 - 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 [KELINFY-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 meessage

"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

    ■ Check if /etc/hosts file is correctly configured

        <ipaddress> <fully qualified hostbane> <simple or short hostname> <alias, if applicable> (all of this on one)

    ■ Check the hostname:

        $ hostname

        $ ping `hostname`

    Make sure you are able to ping the hostname

    ■ Check if /et/nodename is correctly

    ■ 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 <shortname>

        $ nslookup <long name>

        $ nslookup <ip address>

The forward and reverse lookup should succeed and return consistent address/info.

    ■ Check nsswitch.conf


经过上述步骤查看ping `hostname`无法通过.

SQL> SELECT HOST_NAME FROM V$INSTANCE;
HOST_NAME
----------------------------------------------------------------
tiger.localdomain


$ cat /etc/hosts

192.168.0.138  orcl.localdomain orcl

发现数据库主机名与主机名不同,原来是哪位“先生”把主机名变更了.

更改/etc/hosts以及/etc/sysconfig/network主机名与V$INSTANCE结果一致.


再次启动数据库.
$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Dec 8 16:03:01 2014
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size                  2022144 bytes
Variable Size             285213952 bytes
Database Buffers         1845493760 bytes
Redo Buffers               14753792 bytes
Database mounted.
Database opened.

-- 正常启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值