Oracle故障处理之错误代码:ORA-07445: exception encountered(11.2.0.1)
问题背景:客户反馈DB每天产生的incident日志很多,需要排查原因
1> 查看alert日志发现大量的ORA-07445、ORA-00600错误
Errors in file /data/oracle/diag/rdbms/bydata/bydata/trace/bydata_mmon_3667.trc (incident=111052):
ORA-00600: internal error code, arguments: [6200], [18446744073709551615], [], [], [], [], [], [], [], [], [], []
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x2278EA1, kghstack_err()+85] [flags: 0x0, count: 1]
Errors in file /data/oracle/diag/rdbms/bydata/bydata/trace/bydata_mmon_3667.trc (incident=111053):
ORA-07445: exception encountered: core dump [kghstack_err()+85] [SIGSEGV] [ADDR:0x0] [PC:0x2278EA1] [SI_KERNEL(general_protection)] []
ORA-00600: internal error code, arguments: [6200], [18446744073709551615], [], [], [], [], [], [], [], [], [], []
Incident details in: /data/oracle/diag/rdbms/bydata/bydata/incident/incdir_111053/bydata_mmon_3667_i111053.trc
Mon Oct 21 09:50:30 2019
复制
一般情况下,ORA-600被证明为oracle的内部错误,通常由数据文件的坏块或者oracle的bug引起
首先查看是否有数据文件坏块(这一步其实有点多余,全当学习)
[oracle@OA_oracle incident]$ dbv file=/data/oracle/oradata/oradb/tablespace/oradb_DATA.DBF
DBVERIFY: Release 11.2.0.1.0 - Production on Mon Oct 21 10:25:28 2019
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : FILE = /data/oracle/oradata/oradb/tablespace/oradb_DATA.DBF
DBVERIFY - Verification complete
Total Pages Examined : 57600
Total Pages Processed (Data) : 20706
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 11725
Total Pages Failing (Index): 0
Total Pages Processed (Other): 13062
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 12107
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 296071350 (0.296071350)
复制
2> 查看trc
有大量的SQL引用多个left outer join
查看mos和BUG 9050716比较匹配,当前SQL引用多个left outer join,在11.2.0.1.0版本,外关联存在多个BUG,
建议禁用_optimizer_join_elimination_enabled参数问题解决
查看隐含参数的语句
SQL> SELECT ksppinm, ksppstvl, ksppdesc FROM x$ksppi x, x$ksppcv y WHERE x.indx = y.indx AND ksppinm like '_optimizer_join%';
KSPPINM KSPPSTVL KSPPDESC
----------------------------------- ------------------------- ---------------------------------------------------------------------------
_optimizer_join_sel_sanity_check TRUE enable/disable sanity check for multi-column join selectivity
_optimizer_join_order_control 3 controls the optimizer join order search algorithm
_optimizer_join_elimination_enabled TRUE optimizer join elimination enabled
_optimizer_join_factorization TRUE use join factorization transformation
复制
修改隐含参数:
_optimizer_join_elimination_enabled
alter system set "_optimizer_join_elimination_enabled" =false scope=both;
复制
问题解决
文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
434次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
405次阅读
2025-04-15 17:24:06
墨天轮个人数说知识点合集
JiekeXu
369次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
360次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
335次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
302次阅读
2025-04-08 23:57:08
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
294次阅读
2025-03-24 09:42:53
oracle定时任务常用攻略
virvle
288次阅读
2025-03-25 16:05:19
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
288次阅读
2025-03-19 14:41:51
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
286次阅读
2025-04-15 14:48:05