小组故障模拟,遇到一坑,借此留念
Oracle数据库版本Oracle11.2.4,Linux环境,通过sqlplus连接报错如下:
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Fri Apr 29 19:00:36 2022
Copyright (c) 1982, 2013, Oracle. All rights reserved.
ERROR:
ORA-12547: TNS:lost contact
其实网络上有很多资料针对该问题,经过一一排除,并没有实质帮忙,当然我有个土办法,就是过滤1内所有修改的文件,看看跟数据库相关的系统配置参数,如果认真点是可行的,但太笨了。 尝试 跟踪试试吧
执行以下语句
strace -f -o /tmp/strace.log $ORACLE_HOME/bin/sqlplus / as sysdba
好了,可以检查trace文件了
# strace.log 有600错误,最后是12547错误
1074 126351 write(4, "ORA-00600: internal error code, "..., 115) = 115
#Oracle数据库还有一个跟踪文件,如下位置
1036 126351 stat("/u01/app/oracle/product/11.2.0/db_home/rdbms/log", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
1037 126351 stat("/u01/app/oracle/product/11.2.0/db_home/rdbms/log/mydb11_ora_126351.trc", 0x7ffedd888a60) = -1 ENOENT (No such file or directory)
1038 126351 open("/u01/app/oracle/product/11.2.0/db_home/rdbms/log/mydb11_ora_126351.trc", O_WRONLY|O_CREAT|O_TRUNC, 0660) = 4
1039 126351 lstat("/u01/app/oracle/product/11.2.0/db_home/rdbms/log/mydb11_ora_126351.trc", {st_mode=S_IFREG|0640, st_size=0, ...}) = 0
1040 126351 fcntl(4, F_SETFD, FD_CLOEXEC) = 0
1041 126351 write(4, "Dump file ", 10) = 10
1042 126351 write(4, "/u01/app/oracle/product/11.2.0/d"..., 70) = 70
#检查这个跟踪文件
#/u01/app/oracle/product/11.2.0/db_home/rdbms/log
ORA-00600: internal error code, arguments: [SKGMINVALID], [13], [16777216], [0], [6745], [], [], [], [], [], [], []
根据上述错误,通过检查,发现因为 kernel.shmmax 设置太小,变更后 ,正常。
Oracle在跟踪文件和警报日志中报告错误(称为 “异常”)。警报日志在ORACLE_HOME/rdbms/log中找到,是数据库范围的。跟踪文件是每个实例的,在ORACLE_BASE/admin/SID/bdump中找到。
参考:
DB Connection via SQL*Plus = ORA-12547 / Trace File Shows ORA-600[SKGMINVALID] (Doc ID 2477234.1)
最后修改时间:2022-04-30 17:05:04
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




