0

Exception [type: SIGILL, Illegal Operand]

问题归档 2019-04-14
46
摘要:Oracle11.2.0.4的DB,HPUX11.32的主机,运行着4个DB。下午15:17分,有两个业务操作比较繁忙的DB同时报以下错误...

问题描述

Oracle11.2.0.4的DB,HPUX11.32的主机,运行着4个DB。

下午15:17分,有两个业务操作比较繁忙的DB同时报以下错误:

 Exception [type: SIGILL, Illegal Operand] [ADDR:0x400000000652FC11] [PC:0x400000

000652FC11, pdx3Fz23_Insert_IL_Line()+113] [flags: 0x0, count: 1]


20分钟内,这个error产生的core file就有几十GB,导致要关DB 删core file

。但重开DB后又报错,将DB HA到另一主机才没报错。

专家解答

主要的错误信息,是以下的两个代码段:

ORA-07445: exception encountered: core dump [uwx_self_copyin()+1648] [SIGSEGV] [ADDR:0x9FFFFFFFBF5EFF30] [PC:0xC00000000087BA10]

ORA-07445: exception encountered: core dump [pdx3Fz23_Insert_IL_Line()+113] [SIGILL] 

也就是:uwx_self_copyin 和 pdx3Fz23_Insert_IL_Line 两个函数调用。


请分析所有报错的跟踪文件,提取SQL语句,判断是否所有触发的SQL都类似:

----- Current SQL Statement for this session (sql_id=43fu7hg10ftga) -----

UPDATE WAS5001 SET REPORT_STATE=:1,UPDATE_DATE=sysdate WHERE REPORT_ID=:2 AND  (REPORT_STATE < :3 OR REPORT_STATE is NULL) 


如果是,重建这张表观察一下。


检查了incident file,并非都是对这个table。发现incident file中的SQL都是DML操作。当时用SQLPLUS connect DB后执行select system view操作是正常的。现在回想,可能只要是DML都会有这个错误,select是OK的。但如果说是system datafile的ITL有问题,DB switch到另一台主机,storage中datafile是带过去的,就没有这个error。


我的最终判断是:

这不是数据库的问题,是和运行时环境有关的问题。


比如CPU、内存,JAVA运行时环境。


我倾向于认为是硬件层面,比如CPU或内存上有问题,你注意检测一下硬件。

「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
最新发布
暂无内容,敬请期待...
数据库资讯
最新 热门 更多
本月热门
近期活动
全部
暂无活动,敬请期待...
相关课程
全部
暂无课程,敬请期待...