客户环境出现多次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错误很可能与这个告警有直接的关系,因为这个告警自始至终伴随着这两个错误,而一旦这个告警消失了,这两个错误也没有再次出现。因此这两个错误多半与数据库状态的不正常有直接关系。