首页 » ORACLE » ORA-00600: internal error code [kkmupsViewDestFro_4] in oracle 11.2.0.1

ORA-00600: internal error code [kkmupsViewDestFro_4] in oracle 11.2.0.1

ORA-00600: internal error code, arguments: [kkmupsViewDestFro_4], [75216], [76020], [], [], [], [], [], [], [], [], []

oracle 11.2.0.1 on windows

—– Current SQL Statement for this session —

merge into xxx a
using (
select xx from ta,tb
where ta.xx=tb.xx
and ta.xx in(select xx from xx)
) b
on a.xx=b.xx
when matched then
update set a.yyy=xxx;

—– Call Stack Trace —–
calling              call     entry                argument values in hex
location             type     point                (? means dubious value)
——————– ——– ——————– —————————-
ksedst1()+129        CALL???  skdstdst()           0092F3DA2 000000000 000000000
000000000
ksedst()+69          CALL???  ksedst1()            000000002 000000000 006F605E0
000000000
dbkedDefDump()+4536  CALL???  ksedst()             000000287 000000000 000000000
000000000
ksedmp()+43          CALL???  dbkedDefDump()       000000003 000000002 000000000
000468E71
ksfdmp()+87          CALL???  ksedmp()             000000000 000000000 000000000
000000000
dbgexPhaseII()+1819  CALL???  ksfdmp()             000000000 000000000 000000000
000000000
dbgexProcessError()  CALL???  dbgexPhaseII()       02DC30570 02DC3D448 000001979
+2563                                              000000002
dbgeExecuteForError  CALL???  dbgexProcessError()  02DC30570 02DC37540 000000001
()+65                                              000000000
dbgePostErrorKGE()+  CALL???  dbgeExecuteForError  026EFEB70 306395818 000000001
1726                          ()                   000000090
dbkePostKGE_kgsf()+  CALL???  dbgePostErrorKGE()   026EFF130 02E580040
75                                                 41B8A8EC00000258 A754A1F8BFD6
kgeadse()+342        CALL???  dbkePostKGE_kgsf()   000000000 000000000 000000000
000000000
kgerinv_internal()+  CALL???  kgeadse()            000000000 000000000 000000000
76                                                 000000000
kgerinv()+49         CALL???  kgerinv_internal()   02F0E45C8 026EFEB70 02F10DC78
02F10DC78
kgeasnmierr()+64     CALL???  kgerinv()            02F0BC6E4 4020000000000000
02EA53220 003141393
kkmupsViewDestFro()  CALL???  kgeasnmierr()        02E573510 001BEEAE4 0000000FF
+245                                               000000002
kkmupd()+13520       CALL???  kkmupsViewDestFro()  0074EC808 003DE2860 026EFF130
000000000
kkmups()+144         CALL???  kkmupd()             02E573510 2F9A20458 02EA567B0
000000057
opiprsdml()+761      CALL???  kkmups()             000000000 000000000 000000000
000000000
opiprsdmlcb()+17     CALL???  opiprsdml()          026EFEB70 02E5745D8 000000001
000021D28
kkqcttcalo()+1386    CALL???  opiprsdmlcb()        000000000 000000001 02EE92830
02EE913B0
kkqctdrvIT()+880     CALL???  kkqcttcalo()         02E5745D8 000000000 02EE9F890
0093C1644
apadrv()+2936        CALL???  kkqctdrvIT()         000000000 000000000 000000000
000000000
opitca()+2518        CALL???  apadrv()             00432A0C7 27F00001FA0
000000000 000000000
__PGOSF525_kksFullT  CALL???  opitca()             02E5DD9C8 2F9A20458 02EA59C60
ypeCheck()+27                                      026EFD4E0
rpiswu2()+2757       CALL???  __PGOSF525_kksFullT  02EA58758 000004018 026F04630
ypeCheck()           026F04850

Search from MOS

Cause
The error is due to Bug:9861859.
The ORA-600 [KKMUPSVIEWDESTFRO_4] happens while running a merge statement with join elimination. Such join elimination can only happen if the fix for bug 7679164 is present and enabled. This fix was included in the 11.2.0.1 base release.

Solution
1. Upgrade to 11.2.0.2 OR apply Patch:9861859
OR
2. “_optimizer_join_elimination_enabled”=false;
OR
3.”_fix_control”=”7679164:OFF”;
OR
4. adding a ROWNUM pseudo column in subquery like this:

merge into xxx a
using (
select xx, rownum rn from ta,tb
where ta.xx=tb.xx
and ta.xx in(select xx from xx)
) b
on a.xx=b.xx
when matched then
update set a.yyy=xxx;

References MOS note<1181833.1>

打赏

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