ORA-7445(sigsetjmp)错误

客户数据库中出现ORA-7445错误,导致错误的SQL在访问V$ACCESS视图。
错误信息如下:

Sun Sep 19 17:15:17 2010
Errors IN file /home/oracle/admin/ARIC/udump/aric_ora_26489.trc:
ORA-07445: exception encountered: core dump [SIGSEGV] [Address NOT mapped TO object] [0] [] [] []

对应的详细TRACE:

/home/oracle/admin/ARIC/udump/aric_ora_26489.trc
Oracle DATABASE 10g Enterprise Edition Release 10.2.0.3.0 - Production
WITH the Partitioning, OLAP AND DATA Mining options
ORACLE_HOME = /home/oracle/product/10.2.0
System name: SunOS
Node name: aric
Release: 5.10
Version: Generic_127128-11
Machine: i86pc
Instance name: ARIC
Redo thread mounted BY this instance: 1
Oracle process NUMBER: 51
Unix process pid: 26489, image: oracleARIC@aric
*** 2010-09-19 17:15:17.370
*** ACTION NAME:() 2010-09-19 17:15:17.339
*** MODULE NAME:(TOAD 8.6.1.0) 2010-09-19 17:15:17.339
*** SERVICE NAME:(ARIC) 2010-09-19 17:15:17.339
*** SESSION ID:(202.3926) 2010-09-19 17:15:17.339
Exception signal: 11 (SIGSEGV), code: 1 (Address NOT mapped TO object), addr: 0x0
*** 2010-09-19 17:15:17.371
ksedmp: internal OR fatal error
ORA-07445: exception encountered: core dump [SIGSEGV] [Address NOT mapped TO object] [0] [] [] []
CURRENT SQL statement FOR this SESSION:
SELECT  sid, owner, TYPE, object FROM v$access WHERE  sid = '651'
----- Call Stack Trace -----
calling              CALL     entry                argument VALUES IN hex      
location             TYPE     point                (? means dubious VALUE)     
-------------------- -------- -------------------- ----------------------------
ksedst()+23          ?        0000000000000001     0017B341C 000000000 0062E5A60
                                                   000000000
ksedmp()+636         ?        0000000000000001     0017B1EB1 000000000 00000000B
                                                   000000000
ssexhd()+729         ?        0000000000000001     000E90E7E 000000000 0062E5B90
                                                   000000000
sigsetjmp()+25       ?        0000000000000001     0FDDC00B6 0FFFFFD7F 0062E5B50
                                                   000000000
call_user_handler()  ?        0000000000000001     0FDDB53A2 0FFFFFD7F 0062E5EF0
+589                                               000000000
sigacthandler()+163  ?        0000000000000001     0FDDB5588 0FFFFFD7F 0FF3FB2F0
                                                   0FFFFFD7F
_memcpy()+245        ?        0000000000000001     0FFFFFFFF 0FFFFFFFF 00000000B
                                                   000000000
kglLockIterator()+5  ?        0000000000000001     003E36CE1 000000000 0C582FDCC
96                                                 000000000
kqlftl()+194         ?        0000000000000001     001F2A4B7 000000000 000000000
                                                   000000000
qerfxFetch()+4999    ?        0000000000000001     00340E894 000000000 000000000
                                                   000000000
qerjotFetch()+214    ?        0000000000000001     0033BEBA3 000000000 0060B9478
                                                   000000000
qerjotFetch()+280    ?        0000000000000001     0033BEBE5 000000000 0000001F4
                                                   000000000
qerghFetch()+293     ?        0000000000000001     0034C19B2 000000000 0000001F4
                                                   000000000
qervwFetch()+158     ?        0000000000000001     0033BCFBB 000000000 0000001F4
                                                   000000000
opifch2()+2608       ?        0000000000000001     002932E8D 000000000 000000000
                                                   000000000
kpoal8()+3638        ?        0000000000000001     0028CF6BB 000000000 000000000
                                                   000000000
opiodr()+1087        ?        0000000000000001     000E97C5C 000000000 000000000
                                                   000000000
ttcpip()+1165        ?        0000000000000001     003D9F6CA 000000000 005F663F8
                                                   000000000
opitsk()+1278        ?        0000000000000001     000E939C3 000000000 000E97840
                                                   000000000
opiino()+931         ?        0000000000000001     000E96F08 000000000 005F5D840
                                                   000000000
opiodr()+1087        ?        0000000000000001     000E97C5C 000000000 000000000
                                                   000000000
opidrv()+748         ?        0000000000000001     000E924C1 000000000 0FFDFF8C8
                                                   0FFFFFD7F
sou2o()+86           ?        0000000000000001     000E8F8FB 000000000 000000000
                                                   000000000
opimai_real()+127    ?        0000000000000001     000E552D4 000000000 000000000
                                                   000000000
main()+95            ?        0000000000000001     000E551A4 000000000 000000000
                                                   000000000
0000000000E54FE7     ?        0000000000000001     000E54FEC 000000000 000000000
                                                   000000000
--------------------- Binary Stack Dump ---------------------

导致错误产生的语句很简单,就是一个简单的单表查询,只不过访问的是Oracle的动态性能视图表。而这种情况下出现的错误,基本上可以确定是bug。
根据错误号sigsetjmp检查MOS信息,发现包括堆栈信息在内的各方面信息都与Bug 7149072: ORA-7445 OCCURS WHEN SELECTING FROM V$ACCESS描述的一致,只不过这个bug描述并不是一个基本BUG,而这个问题对应的基本bug是:Bug 4969005 Dump [kglLockIterator] querying V$ views,而这个bug描述中对应的kglLockIterator和memcpy错误函数在当前错误中同样存在,而且当前数据库版本的也是受影响的10.2.0.3,基本上可以确定bug了。
这个BUG在11.2.0.4和11.1.0.6中被fixed。

This entry was posted in BUG and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *