ORA-7445(kwqbcsoa)和ORA-7445(lstclo)错误

客户环境出现多次ORA-7445错误以及Oracle executable binary mismatch detected的告警信息。
数据库版本为10.2.0.3 for Linux,错误信息如下:

Mon Aug 6 11:13:11 2012
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:15:09 2012
The VALUE (30) OF MAXTRANS parameter ignored.
Mon Aug 6 11:15:09 2012
Errors IN file /ora/app/oracle/admin/ORCL/udump/orcl_ora_19423.trc:
ORA-07445: exception encountered: core dump [kwqbcsoa()+64] [SIGSEGV] [Address NOT mapped TO object] [0x0] [] []
Mon Aug 6 11:15:09 2012
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:15:09 2012
Errors IN file /ora/app/oracle/admin/ORCL/bdump/orcl_ora_19425.trc:
ORA-07445: exception encountered: core dump [kwqbcsoa()+64] [SIGSEGV] [Address NOT mapped TO object] [0x0] [] []
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:15:18 2012
Errors IN file /ora/app/oracle/admin/ORCL/bdump/orcl_ora_19427.trc:
ORA-07445: exception encountered: core dump [kwqbcsoa()+64] [SIGSEGV] [Address NOT mapped TO object] [0x0] [] []
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:15:26 2012
The VALUE (30) OF MAXTRANS parameter ignored.
Mon Aug 6 11:15:26 2012
Errors IN file /ora/app/oracle/admin/ORCL/udump/orcl_ora_19438.trc:
ORA-07445: exception encountered: core dump [kwqbcsoa()+64] [SIGSEGV] [Address NOT mapped TO object] [0x0] [] []
Mon Aug 6 11:16:44 2012
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:22:47 2012
Errors IN file /ora/app/oracle/admin/ORCL/udump/orcl_ora_19601.trc:
ORA-07445: exception encountered: core dump [lstclo()+45] [SIGSEGV] [Address NOT mapped TO object] [0x66666F] [] []
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:22:50 2012
Errors IN file /ora/app/oracle/admin/ORCL/udump/orcl_ora_19606.trc:
ORA-07445: exception encountered: core dump [lstclo()+45] [SIGSEGV] [Address NOT mapped TO object] [0x66666F] [] []
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:23:01 2012
Errors IN file /ora/app/oracle/admin/ORCL/udump/orcl_ora_19632.trc:
ORA-07445: exception encountered: core dump [lstclo()+45] [SIGSEGV] [Address NOT mapped TO object] [0x66666F] [] []
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:23:05 2012
Errors IN file /ora/app/oracle/admin/ORCL/udump/orcl_ora_19636.trc:
ORA-07445: exception encountered: core dump [lstclo()+45] [SIGSEGV] [Address NOT mapped TO object] [0x66666F] [] []
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
Mon Aug 6 11:23:17 2012
Errors IN file /ora/app/oracle/admin/ORCL/udump/orcl_ora_19655.trc:
ORA-07445: exception encountered: core dump [lstclo()+45] [SIGSEGV] [Address NOT mapped TO object] [0x66666F] [] []
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
WARNING: Oracle executable BINARY mismatch detected.
BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages

其中ORA-7445[kwqbcsoa]的TRACE信息为:

WARNING: Oracle executable BINARY mismatch detected.
 BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
startup image information
iid info sz=95109435 inode=63324683 ts=0x49dac59d
CURRENT process image information
iid info sz=95110492 inode=58490881 ts=0x501f357e
SET _disable_image_check = TRUE TO disable this CHECK
*** SERVICE NAME:(SYS$USERS) 2012-08-06 11:15:09.683
*** SESSION ID:(304.43283) 2012-08-06 11:15:09.683
Exception signal: 11 (SIGSEGV), code: 1 (Address NOT mapped TO object), addr: 0x0, PC: [0x878fb84, kwqbcsoa()+64]
Registers:
%eax: 0x00000000 %ebx: 0x0ccf07b0 %ecx: 0xbfff71c8
%edx: 0x9bf70754 %edi: 0x00000000 %esi: 0x00000000
%esp: 0xbfff710c %ebp: 0xbfff7140 %eip: 0x0878fb84
%efl: 0x00210246
  kwqbcsoa()+48 (0x878fb74) push 0x2001514c
  kwqbcsoa()+54 (0x878fb7a) CALL 0x8414300
  kwqbcsoa()+59 (0x878fb7f) mov %eax,%edi
  kwqbcsoa()+61 (0x878fb81) mov $0x0,0x1c(%edi)
  kwqbcsoa()+68 (0x878fb88) mov $0xc247ce0,0xcd5064c
  kwqbcsoa()+78 (0x878fb92) push $0x20014ce0
  kwqbcsoa()+83 (0x878fb97) CALL 0x8319754
  kwqbcsoa()+88 (0x878fb9c) ADD $40,%esp
  kwqbcsoa()+91 (0x878fb9f) test %edi,%edi
*** 2012-08-06 11:15:09.685
ksedmp: internal OR fatal error
ORA-07445: exception encountered: core dump [kwqbcsoa()+64] [SIGSEGV] [Address NOT mapped TO object] [0x0] [] []
CURRENT SQL statement FOR this SESSION:
BEGIN sys.kupc$que_int.create_queues(:1, :2, :3, :4); END;
----- PL/SQL Call Stack -----
  object      line  object
  handle    NUMBER  name
0x9ba48960       700  package body SYS.DBMS_AQADM_SYSCALLS
0x9b7a4a24      4427  package body SYS.DBMS_AQADM_SYS
0x8cf9a1c0      1531  package body SYS.KUPC$QUE_INT
0x9b7200c4         1  anonymous block
0x9239ef24       148  package body SYS.KUPC$QUEUE_INT
0x9b781604       539  package body SYS.KUPV$FT_INT
0x926a05a8      1131  package body SYS.KUPV$FT
0x926a05a8       812  package body SYS.KUPV$FT
0x9b789220      4310  package body SYS.DBMS_DATAPUMP
0x8cfc0474         1  anonymous block
----- Call Stack Trace -----
calling              CALL     entry                argument VALUES IN hex      
location             TYPE     point                (? means dubious VALUE)     
-------------------- -------- -------------------- ----------------------------
ksedst()+27          CALL     ksedst1()            1 ? 1 ?
ksedmp()+557         CALL     ksedst()             1 ? 8168FA0 ? B748BF3C ?
                                                   A9A650 ? 10 ? B7491D38 ?
ssexhd()+882         CALL     ksedmp()             3 ? 878FB84 ? 6271776B ?
                                                   616F7363 ? 362B2928 ? 34 ?
kwqbcsoa()+64        signal   00000000             B ? B748DC90 ? B748DD10 ?
kgqbt_search_subtre  CALL     kgqbt_search_block(  CD406A0 ? 9BF70754 ?
e()+42                        )                    8CF1E458 ? 1 ? BFFF71C8 ? 0 ?
kgqbtqry()+351       CALL     kgqbt_search_subtre  CD406A0 ? 9BF70754 ?
                              e()                  8CF1E458 ? 1 ? BFFF71C8 ?
                                                   90413274 ?
kwqbcfndqc()+55      CALL     kgqbtqry()           CD406A0 ? 9BF70754 ? 1 ?
                                                   BFFF71C8 ?
kwqbcbfq()+1623      CALL     kwqbcfndqc()         97D62 ? 0 ? 97D62 ?
                                                   904132A8 ? 3 ? 904132C7 ?
ktcccdel()+200       CALL     00000000             92541C10 ? 9AC00C8C ?
                                                   FFFFFFFF ? FFFFFFFF ? 1 ? 1 ?
ktcrcm()+901         CALL     ktcccdel()           9AC00C8C ? 9AC82E2C ? 1 ? 0 ?
                                                   0 ? 3 ? 1 ?
.
.
.

而ORA-7445[lstclo]的TRACE文件为:

WARNING: Oracle executable BINARY mismatch detected.
 BINARY OF NEW process does NOT MATCH BINARY which started instance
issue ALTER system SET "_disable_image_check" = TRUE TO disable these messages
startup image information
iid info sz=95109435 inode=63324683 ts=0x49dac59d
CURRENT process image information
iid info sz=95110492 inode=58490881 ts=0x501f357e
SET _disable_image_check = TRUE TO disable this CHECK
*** SERVICE NAME:(SRHUTF) 2012-08-06 11:22:47.552
*** SESSION ID:(316.18046) 2012-08-06 11:22:47.552
Exception signal: 11 (SIGSEGV), code: 1 (Address NOT mapped TO object), addr: 0x66666f, PC: [0xa8dd2fd, lstclo()+45]
Registers:
%eax: 0xbfff9db0 %ebx: 0x0ccf07b0 %ecx: 0x0066666f
%edx: 0xbfff9db0 %edi: 0x9c65d0b0 %esi: 0x00000024
%esp: 0xbfff9aa4 %ebp: 0xbfff9abc %eip: 0x0a8dd2fd
%efl: 0x00210202
  lstclo()+32 (0xa8dd2f0) pop %ebx
  lstclo()+33 (0xa8dd2f1) ADD $0x24134c0,%ebx
  lstclo()+39 (0xa8dd2f7) mov 0xfffffffc(%ebp),%ecx
  lstclo()+42 (0xa8dd2fa) mov 0xfffffff8(%ebp),%eax
> lstclo()+45 (0xa8dd2fd) movzb (%ecx),%esi
  lstclo()+48 (0xa8dd300) movzb (%eax),%edi
  lstclo()+51 (0xa8dd303) ADD $1,%ecx
  lstclo()+54 (0xa8dd306) ADD $1,%eax
  lstclo()+57 (0xa8dd309) mov %ecx,0xfffffffc(%ebp)
*** 2012-08-06 11:22:47.554
ksedmp: internal OR fatal error
ORA-07445: exception encountered: core dump [lstclo()+45] [SIGSEGV] [Address NOT mapped TO object] [0x66666F] [] []
CURRENT SQL statement FOR this SESSION:
ALTER SESSION SET plsql_code_type = interpreted
----- Call Stack Trace -----
calling              CALL     entry                argument VALUES IN hex      
location             TYPE     point                (? means dubious VALUE)     
-------------------- -------- -------------------- ----------------------------
ksedst()+27          CALL     ksedst1()            1 ? 1 ?
ksedmp()+557         CALL     ksedst()             1 ? 8168FA0 ? B748BF3C ?
                                                   A9A650 ? 10 ? B7491D38 ?
ssexhd()+882         CALL     ksedmp()             3 ? A8DD2FD ? 6374736C ?
                                                   29286F6C ? 35342B ? 0 ?
lstclo()+45          signal   00000000             B ? B748DC90 ? B748DD10 ?
lrmcvv()+234         CALL     lstclo()             66666F ? BFFF9DB0 ?
                                                   BFFF9AE0 ? 0 ? 0 ? BFFF9DB0 ?
kspsetv0()+538       CALL     lrmcvv()             9C6844A8 ? 9C65D0B0 ?
                                                   BFFF9DB0 ? C0ED320 ?
kspsetv()+33         CALL     kspsetv0()           20004D08 ? C8DC7DC ? 34E ?
                                                   BFFFA124 ? BFFFA11C ? 2 ?
                                                   100 ? 0 ? C8DC800 ?
kkxctycb()+159       CALL     kspsetv()            20004D08 ? C8DC7DC ?
                                                   BFFFA124 ? BFFFA11C ? 2 ?
                                                   100 ? C8DC800 ?
kspptval()+2207      CALL     00000000             100 ? BFFFA47C ? B72EF7EC ?
kspset0()+1552       CALL     kspptval()           352 ? BFFFAAD8 ? 101 ?
                                                   20004D08 ? 0 ? 0 ? BFFFA828 ?
                                                   102 ?
kkyase()+4725        CALL     kspset0()            20004D08 ? C168C44 ? 352 ?
                                                   9069C3F4 ? B ? 101 ?
                                                   9069C3D0 ? 0 ?
kksExecuteCommand()  CALL     kkyase()             9069C3BC ? 0 ? 5DBC ? 0 ?
+1016                                              1F87013 ? 4A9E9 ?
opiexe()+23116       CALL     kksExecuteCommand()  B72EF804 ? 2 ? BFFFC32C ?
kpoal8()+2089        CALL     opiexe()             49 ? 3 ? BFFFC32C ?
opiodr()+985         CALL     00000000             5E ? 17 ? BFFFEC30 ?
ttcpip()+1093        CALL     00000000             5E ? 17 ? BFFFEC30 ? 0 ?
opitsk()+1031        CALL     ttcpip()             CD47EA0 ? 5E ? BFFFEC30 ? 0 ?
                                                   BFFFE90C ? BFFFED40 ?
opiino()+821         CALL     opitsk()             0 ? 0 ?
opiodr()+985         CALL     00000000             3C ? 4 ? BFFFF800 ?
opidrv()+466         CALL     opiodr()             3C ? 4 ? BFFFF800 ? 0 ?
sou2o()+91           CALL     opidrv()             3C ? 4 ? BFFFF800 ?
opimai_real()+117    CALL     sou2o()              BFFFF7E4 ? 3C ? 4 ?
                                                   BFFFF800 ?
main()+111           CALL     opimai_real()        2 ? BFFFF830 ?
__libc_start_main()  CALL     00000000             2 ? BFFFF8F4 ? BFFFF900 ?
+211                                               A8F1D6 ? BC7FF4 ? 0 ?
--------------------- Binary Stack Dump ---------------------

根据TRACE信息可以确认,在发生ORA-7445时,数据库在进行数据泵的导入操作。第一个ORA-7445在数据泵初始化队列是报错,而第二个ORA-7445与OLAP处理有关。显然这和OLAP的数据泵导入有关。
而不停出现的Oracle executable binary mismatch detected告警信息,说明Oracle检查到当前运行的数据库与ORACLE_HOME中可执行文件不符,怀疑应该是之前打PATCH或重新MAKE没有安装正确的流程,导致这个告警的产生。
一般来说这个告警并不一定会导致错误的产生,但是当前出现了这两个ORA-7445错误很可能与这个告警有直接的关系,因为这个告警自始至终伴随着这两个错误,而一旦这个告警消失了,这两个错误也没有再次出现。因此这两个错误多半与数据库状态的不正常有直接关系。

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 *