OS:redhat 4.3 x86sql
DB:10.2.0.1数据库
今天在物化视图远程复制的测试中,关闭一数据库后重启,出现ora-600报错,让咱们分析一下:网络
[oracle@prod1 ~]$ sqlplus / as sysdbaoracle
SQL*Plus: Release 10.2.0.1.0 – Production on Thu Jul 19 10:54:15 2012app
Copyright (c) 1982, 2005, Oracle. All rights reserved.ide
Connected to an idle instance.测试
SQL> startup
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []spa
查看日志:日志
[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 = 4184code
按照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问题解决!