您的位置:首页 > 数据库 > Oracle

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

2014-12-09 01:07 465 查看
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 /
4000
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.

-- 正常启动
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle ora-00600
相关文章推荐