首页 » ORACLE 9i-23c » Troubleshooting Oracle 11g ORA-07445 [kkqteSetSubPartNums()+355] and ORA-00600 [kghrst:ds]

Troubleshooting Oracle 11g ORA-07445 [kkqteSetSubPartNums()+355] and ORA-00600 [kghrst:ds]

一家内衣品牌的客户,环境oracle 11.2.0.4 rac on linux, db alert log日志中出现应用查询提示oracle ORA-07445: exception encountered: core dump [kkqteSetSubPartNums()+355] [SIGSEGV] [ADDR:0x7FEFCA3BDFB8] [PC:0x7818D8F] [Invalid permissions for mapped object] [] 和ORA-00600: 内部错误代码, 参数: [kghrst:ds], [0x7FFC26461030], 简单记录该问题

ORA-07445 [kkqteSetSubPartNums()+355]

ORA-07445: exception encountered: core dump [kkqteSetSubPartNums()+355] [SIGSEGV] [ADDR:0x7FEFCA3BDFB8] [PC:0x7818D8F] [Invalid permissions for mapped object] []

dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=6abm1hd5mrdjy) -----
select    p.DAY as DAY,    p.location,    p.TOTALMONEY as SALEMONEY,xxx
...
()... 一个复杂查询

---- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FEFCAEDAC40 ? 7FEFCAEDAD18 ?
                                                   7FEFCAEDF7C0 ? 000000003 ?
ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?
                                                   7FEFCAEDAC40 ? 7FEFCAEDAD18 ?
                                                   7FEFCAEDF7C0 ? 000000003 ?
ksedst()+39          call     ksedst1()            000000001 ? 000000001 ?
                                                   7FEFCAEDAC40 ? 7FEFCAEDAD18 ?
                                                   7FEFCAEDF7C0 ? 000000003 ?
dbkedDefDump()+2746  call     ksedst()             000000001 ? 000000001 ?
                                                   7FEFCAEDAC40 ? 7FEFCAEDAD18 ?
                                                   7FEFCAEDF7C0 ? 000000003 ?
ksedmp()+41          call     dbkedDefDump()       000000003 ? 000000003 ?
                                                   7FEFCAEDAC40 ? 7FEFCAEDAD18 ?
                                                   7FEFCAEDF7C0 ? 000000003 ?
ssexhd()+2462        call     ksedmp()             000000003 ? 000000003 ?
                                                   7FEFCAEDAC40 ? 7FEFCAEDAD18 ?
                                                   7FEFCAEDF7C0 ? 000000003 ?
__sighandler()       call     ssexhd()             00000000B ? 7FEFCAEE0BF0 ?
                                                   7FEFCAEE0AE8 ? 7FEFCAEDAD18 ?
                                                   7FEFCAEDF7C0 ? 000000003 ?
kkqteSetSubPartNums  signal   __sighandler()       7DFAB9490 ? 7FEFCA3AF0A0 ?
()+355                                             00000000C ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqteGeneratePreds(  call     kkqteSetSubPartNums  7DFAB9490 ? 7FEFCA3AF0A0 ?
)+271                         ()                   00000000C ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqteTransform()+75  call     kkqteGeneratePreds(  7FEFCA35DE20 ? 7FEFCA3AF0A0 ?
7                             )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqctdrvTE()+1531    call     kkqteTransform()     7FEFCA35DE20 ? 7FEFCA3AF0A0 ?
                                                   7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqtedtr()+145       call     kkqctdrvTE()         7FEFCA35DE20 ? 7FEFCA3AF0A0 ?
                                                   7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbcLoc(  call     kkqtedtr()           7FEFCA948EB0 ? 7FFF079F87E8 ?
)+618                                              7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbcLoc(  call     qksqbApplyToQbcLoc(  7FEFCA948EB0 ? 7FFF079F8740 ?
)+1059                        )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbcLoc(  call     qksqbApplyToQbcLoc(  7FEFCA935438 ? 7FFF079F8740 ?
)+1000                        )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbc()+8  call     qksqbApplyToQbcLoc(  7FEFCA939398 ? 7FFF079F8740 ?
70                            )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqctdrvTD()+5211    call     qksqbApplyToQbc()    7FEFCA938F18 ? 0023F198A ?
                                                   7FFF079F87E8 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kkqtedrv()+91        call     kkqctdrvTD()         000000000 ? 7B9F3E5E0 ?
                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kkqdrv()+2061        call     kkqtedrv()           7FEFCAD16938 ? 7B9F3E5E0 ?
                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kkqctdrvIT()+764     call     kkqdrv()             7FEFCAD16938 ? 000000000 ?
                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
apadrv()+3059        call     kkqctdrvIT()         7FEFCAD16938 ? 7B9F3E5E0 ?
                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
opitca()+2089        call     apadrv()             7B9F3E5E0 ? 7B9F3E5E0 ?
                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kksFullTypeCheck()+  call     opitca()             7FEFCAD59A80 ? 7B9F3E5E0 ?
69                                                 7FFF079FB500 ? 000000000 ?

对于kkqteSetSubPartNums 全网没有任何信息,KKQTE==>kernel compile query table expansion 似乎和查询转换过程中的table explansion有关。


kkqteSetSubPartNums  signal   __sighandler()       7DFAB9490 ? 7FEFCA3AF0A0 ?
()+355                                             00000000C ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqteGeneratePreds(  call     kkqteSetSubPartNums  7DFAB9490 ? 7FEFCA3AF0A0 ?
        kernel compile query  table expansion  [partial hit for: kkqte ]  => kernel compile query  table expansion  [partial hit for: kkqte ] 

)+271                         ()                   00000000C ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqteTransform()+75  call     kkqteGeneratePreds(  7FEFCA35DE20 ? 7FEFCA3AF0A0 ?
     kernel compile query  table expansion  [partial hit for: kkqte ]  => kernel compile query  table expansion  [partial hit for: kkqte ] 

7                             )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqctdrvTE()+1531    call     kkqteTransform()     7FEFCA35DE20 ? 7FEFCA3AF0A0 ?
     kernel compile query  cost based query transformation driver table expansion  => kernel compile query  table expansion  [partial hit for: kkqte ] 

                                                   7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqtedtr()+145       call     kkqctdrvTE()         7FEFCA35DE20 ? 7FEFCA3AF0A0 ?
     kernel compile query  table expansion  [partial hit for: kkqte ]  => kernel compile query  cost based query transformation driver table expansion 

                                                   7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbcLoc(  call     kkqtedtr()           7FEFCA948EB0 ? 7FFF079F87E8 ?
     query kernel sql Query compilation for query blocks apply to QB local implementation  => kernel compile query  table expansion  [partial hit for: kkqte ] 

)+618                                              7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbcLoc(  call     qksqbApplyToQbcLoc(  7FEFCA948EB0 ? 7FFF079F8740 ?
     query kernel sql Query compilation for query blocks apply to QB local implementation  => query kernel sql Query compilation for query blocks apply to QB local implementation 

)+1059                        )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbcLoc(  call     qksqbApplyToQbcLoc(  7FEFCA935438 ? 7FFF079F8740 ?
     query kernel sql Query compilation for query blocks apply to QB local implementation  => query kernel sql Query compilation for query blocks apply to QB local implementation 

)+1000                        )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
qksqbApplyToQbc()+8  call     qksqbApplyToQbcLoc(  7FEFCA939398 ? 7FFF079F8740 ?
     query kernel sql Query compilation for query blocks apply to QB  => query kernel sql Query compilation for query blocks apply to QB local implementation 

70                            )                    7FFF079F8450 ? 7DFAB9620 ?
                                                   000000000 ? 000000000 ?
kkqctdrvTD()+5211    call     qksqbApplyToQbc()    7FEFCA938F18 ? 0023F198A ?
        kernel compile query  cost based query transformation driver transformation directives  => query kernel sql Query compilation for query blocks apply to QB 

                                                   7FFF079F87E8 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kkqtedrv()+91        call     kkqctdrvTD()         000000000 ? 7B9F3E5E0 ?
           kernel compile query  table expansion driver  => kernel compile query  cost based query transformation driver transformation directives 

                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kkqdrv()+2061        call     kkqtedrv()           7FEFCAD16938 ? 7B9F3E5E0 ?
        kernel compile query  transformation driver  => kernel compile query  table expansion driver 

                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kkqctdrvIT()+764     call     kkqdrv()             7FEFCAD16938 ? 000000000 ?
        kernel compile query  cost based query transformation driver initiate cost-based transformation  => kernel compile query  transformation driver 

                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
apadrv()+3059        call     kkqctdrvIT()         7FEFCAD16938 ? 7B9F3E5E0 ?
        SQL Access Path Analysis drive access path selection for a sql command  => kernel compile query  cost based query transformation driver initiate cost-based transformation 

                                                   000000009 ? 000000000 ?
                                                   000000000 ? 000000000 ?
opitca()+2089        call     apadrv()             7B9F3E5E0 ? 7B9F3E5E0 ?
           oracle program interface sets up context area  => SQL Access Path Analysis drive access path selection for a sql command 

解决方法
1, 禁用table expansion

SQL> alter system set "_optimizer_table_expansion"=false;

注意:请确保在生产环境中实现此参数更改之前进行测试,因为它可能会影响某些应用程序的性能。

— or —
2, 查询是否有分区索引失效
SetSubPartNums判断与分区相关,该案例确实存在Invalid partition,重建后恢复正常。

ORA-00600 [kghrst:ds]和 [kghfrempty:ds]
db alert log

Errors in file /oracle/diag/rdbms/anbob/anbob1/trace/anbob1_ora_115410.trc:
ORA-00600: internal error code, arguments: [kghrst:ds], [0x7F0B7A19FA10], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghfrempty:ds], [0x7F0B7A19FA10], [], [], [], [], [], [], [], [], [], []

600 kghrst trace file

----- Error Stack Dump -----
ORA-00600: 内部错误代码, 参数: [kghrst:ds], [0x7FFC26461030], [], [], [], [], [], [], [], [], [], []
----- Current SQL Statement for this session (sql_id=53p5b214b18h4) -----
SELECT                sum(t1.RECEIVABLE_MONEY) as TOTALMONEY,
...
----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FFF9002BC20 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?
                                                   7FFF9002BC20 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
ksedst()+39          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FFF9002BC20 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
dbkedDefDump()+2746  call     ksedst()             000000000 ? 000000001 ?
                                                   7FFF9002BC20 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
ksedmp()+41          call     dbkedDefDump()       000000003 ? 000000000 ?
                                                   7FFF9002BC20 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
ksupop()+3975        call     ksedmp()             000000003 ? 000000000 ?
                                                   7FFF9002BC20 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
opiodr()+1009        call     ksupop()             000000001 ? 000000000 ?
                                                   7FFF9002BC20 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
ttcpip()+1255        call     opiodr()             00000005E ? 00000001C ?
                                                   7FFF900342A0 ? 7FFF9002BCF8 ?
                                                   7FFF900307A0 ? 000000002 ?
opitsk()+1710        call     ttcpip()             00C150970 ? 0099F14B0 ?
                                                   7FFF900342A0 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
opiino()+969         call     opitsk()             00C150978 ? 000000000 ?
                                                   7FFF900342A0 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
opiodr()+917         call     opiino()             00000003C ? 000000004 ?
                                                   7FFF90035A98 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
opidrv()+570         call     opiodr()             00000003C ? 000000004 ?
                                                   7FFF90035A98 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
sou2o()+103          call     opidrv()             00000003C ? 000000004 ?
                                                   7FFF90035A98 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
opimai_real()+133    call     sou2o()              7FFF90035A70 ? 00000003C ?
                                                   000000004 ? 7FFF90035A98 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
ssthrdmain()+265     call     opimai_real()        000000002 ? 7FFF90035C60 ?
                                                   000000004 ? 7FFF90035A98 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
main()+201           call     ssthrdmain()         000000002 ? 7FFF90035C60 ?
                                                   000000001 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
__libc_start_main()  call     main()               000000002 ? 7FFF90035E08 ?
+253                                               000000001 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
_start()+41          call     __libc_start_main()  000A2B614 ? 000000002 ?
                                                   7FFF90035DF8 ? 000000000 ?
                                                   7FFF90033CF8 ? 7FFF9003429C ?
 
Dumping Event (group=SESSION)
Dumping Event (group=SYSTEM)
DYNAMICALLY MODIFIED PARAMETERS:
  nls_language             = SIMPLIFIED CHINESE
  nls_territory            = CHINA
  log_archive_dest_state_2 = ENABLE
DDE: Flood control is not active
Incident 55634772 created, dump file: /oracle/diag/rdbms/dslrprd1new/dslrprd13/incident/incdir_55634772/dslrprd13_ora_18969_i55634772.trc
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [kghrst:ds], [0x7FFC26461030], [], [], [], [], [], [], [], [], [], []

kgefec: fatal error 0

可能的原因
23326243 12.2.0.1 ORA-600[17147] when create procedure containing muti-bytes characters

可能的解决方法
内存级corrupted, flush shared_pool, 或查看SQL中是否有使用muti-bytes characters如中文字符。

打赏

, ,

对不起,这篇文章暂时关闭评论。