暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORA-07445: EXCEPTION ENCOUNTERED: CORE DUMP [KXIBFINDINDEX()+4] [SIGSEGV] [ADDR]

原创 章芋文 2014-03-24
2342
alert日志信息如下:
[code]Mon May 13 10:30:17 2013
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x18] [PC:0x5BD1254, kxibFindIndex()+4] [flags: 0x0, count: 1]Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x18] [PC:0x5BD1254, kxibFindIndex()+4] [flags: 0x0, count: 1]

Mon May 13 10:30:17 2013
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x18] [PC:0x5BD1254, kxibFindIndex()+4] [flags: 0x0, count: 1]Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x18] [PC:0x5BD1254, kxibFindIndex()+4] [flags: 0x0, count: 1]

Errors in file /u01/app/oracle/diag/rdbms/o/o1/trace/o1_p002_9183.trc (incident=96321):
ORA-07445: EXCEPTION ENCOUNTERED: CORE DUMP [kxibFindIndex()+4] [SIGSEGV] [ADDR:0x18] [PC:0x5BD1254] [Address not mapped to object] []n May 13 10:30:18 2013

ORA-07445: EXCEPTION ENCOUNTERED: CORE DUMP [kxibFindIndex()+4] [SIGSEGV] [ADDR:0x18] [PC:0x5BD1254] [Address not mapped to object] []n May 13 10:30:20 2013

Errors in file /u01/app/oracle/diag/rdbms/o/o1/trace/o1_p003_9185.trc (incident=96329):
ORA-07445: EXCEPTION ENCOUNTERED: CORE DUMP [kxibFindIndex()+4] [SIGSEGV] [ADDR:0x18] [PC:0x5BD1254] [Address not mapped to object] []eep [inc][96313]: completed

Incident details in: /u01/app/oracle/diag/rdbms/o/o1/incident/incdir_96329/o1_p003_9185_i96329.trc
Incident details in: /u01/app/oracle/diag/rdbms/o/o1/incident/incdir_96313/o1_p001_9181_i96313.trc
Use ADRCI or Support Workbench to package the incident.[/code]
根据alert日志,初步判断为Oracle BUG引起,首先用如下语句确认索引是否存在逻辑坏块:
ANALYZE TABLE DMA_CLAM_POLICY_RATIO_FEE_RPT VALIDATE STRUCTURE CASCADE COMPLETE
如果该语句执行成功,可以确认为11.2的bug:Bug 16702946 : ORA-07445: EXCEPTION ENCOUNTERED: CORE DUMP [KXIBFINDINDEX()+4] [SIGSEGV] [ADDR] ,导致问题的原因是Oracle在11.2中改变了DELETE语句的执行计划,由全表扫描改为主键扫描。而在11g之前,并行非分区表的查询是不可能使用索引范围扫描的,而在这个错误中,Oracle采用了新的执行计划,采用了并行的索引范围扫描。因此可以判断是11.2的DELETE新特性导致了Oracle的bug。
这个bug还在描述阶段,Oracle也是刚刚发现的问题。鉴于Oracle目前没有解决方案。尝试在DELETE后面添加HINT /*+ NO_INDEX(DMA_CLAM_POLICY_RATIO_FEE_RPT) */ ,避免索引扫描的执行计划出现。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论