ORA-600(kglobpn-bad-pga)错误

这个错误比较罕见,无论是GOOGLE还是METALINK都找不到任何的相关信息。
数据库版本是11.2.0.2 RAC环境,这个错误之所以这么罕见,也和11.2的版本太新,以致于很多问题都还没有暴露出来有关。
错误信息为:

2012-03-29 04:06:02.353000 +08:00
Errors IN file /oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18355.trc (incident=144401):
ORA-00600: internal error code, arguments: [kglobpn-bad-pga], [], [], [], [], [], [], [], [], [], [], []
Incident details IN: /oracle/diag/rdbms/orcl/orcl1/incident/incdir_144401/orcl1_ora_18355_i144401.trc
2012-03-29 04:10:12.017000 +08:00
Dumping diagnostic DATA IN directory=[cdmp_20120329041012], requested BY (instance=1, osid=18355), summary=[incident=144401].
USE ADRCI OR Support Workbench TO package the incident.
See Note 411.1 at My Oracle Support FOR error AND packaging details.
2012-03-29 04:10:13.750000 +08:00
Sweep [inc][144401]: completed
Sweep [inc2][144401]: completed

详细的TRACE信息为:

*** 2012-03-29 04:06:02.385
*** SESSION ID:(106.45) 2012-03-29 04:06:02.385
*** CLIENT ID:() 2012-03-29 04:06:02.385
*** SERVICE NAME:(orcl) 2012-03-29 04:06:02.385
*** MODULE NAME:(PL/SQL Developer) 2012-03-29 04:06:02.385
*** ACTION NAME:(Main SESSION) 2012-03-29 04:06:02.385
Dump continued FROM file: /oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18355.trc
ORA-00600: internal error code, arguments: [kglobpn-bad-pga], [], [], [], [], [], [], [], [], [], [], []
========= Dump FOR incident 144401 (ORA 600 [kglobpn-bad-pga]) ========
*** 2012-03-29 04:06:02.426
dbkedDefDump(): Starting incident DEFAULT dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=8m7jgqrwrtyj1) -----
CREATE OR REPLACE TRIGGER N_TRIGGER
  AFTER INSERT OR UPDATE ON T
  FOR EACH ROW
DECLARE
.
.
.
END;
----- Call Stack Trace -----
calling              CALL     entry                argument VALUES IN hex      
location             TYPE     point                (? means dubious VALUE)     
-------------------- -------- -------------------- ----------------------------
ksedst1()+96         CALL     skdstdst()           FFFFFFFF7FFEED60 ?
                                                   1006B0C80 ? 000000000 ?
                                                   00000000A ? 000000001 ?
                                                   10BD95B00 ?
ksedst()+60          CALL     ksedst1()            000000000 ? 000000001 ?
                                                   00010C212 ? 00010C000 ?
                                                   10C20A000 ? 00010C20A ?
dbkedDefDump()+2032  CALL     ksedst()             000000000 ? 10B25B000 ?
                                                   10B25B2B0 ? 10C212000 ?
                                                   00010B000 ? 00010C212 ?
dbgexPhaseII()+1800  PTR_CALL dbkedDefDump()       000000003 ? 000000002 ?
                                                   10A6EC2C8 ? 0000014B0 ?
                                                   10C20A000 ? 000000003 ?
dbgexProcessError()  CALL     dbgexPhaseII()       10C3B4650 ?
+1248                                              FFFFFFFF7BE3A578 ?
                                                   FFFFFFFF7FFF3AB8 ?
                                                   0018E0000 ? 10A6E35B8 ?
                                                   000001C00 ?
dbgePostErrorKGE()+  CALL     dbgeExecuteForError  10AE0C3FD ?
1320                          ()                   FFFFFFFFFEC0B62D ?
                                                   001050000 ?
                                                   FFFFFFFF7FFF6268 ?
                                                   001060000 ? 000000028 ?
dbkePostKGE_kgsf()+  CALL     dbgePostErrorKGE()   10C20AC90 ? 000000000 ?
44                                                 FFFFFFFF7BE3A578 ?
                                                   000000000 ? 000000258 ?
                                                   00010C000 ?
kgerinv_internal()+  CALL     kgeadse()            10C20AC90 ?
72                                                 FFFFFFFF7D1042C0 ?
                                                   000000258 ? 000002868 ?
                                                   10A6E4000 ? 00010A6E4 ?
kgerinv()+40         CALL     kgerinv_internal()   10C20AC90 ? 004EA2360 ?
                                                   10BDED4D0 ? 000000258 ?
                                                   000000000 ? 000000000 ?
kgeasnmierr()+28     CALL     kgerinv()            10C20AC90 ?
                                                   FFFFFFFF7D1042C0 ?
                                                   10BDED4D0 ? 000000000 ?
                                                   FFFFFFFF7FFF7630 ?
                                                   000001400 ?
kglobpn()+2972       CALL     kgeasnmierr()        10C20AC90 ?
                                                   FFFFFFFF7D1042C0 ?
                                                   10BDED4D0 ? 000000000 ?
                                                   0000060A6 ? 00000005B ?
kglpim()+444         CALL     kglobpn()            FFFFFFFFFFBEC700 ?
                                                   10C20AC90 ? 0000020BE ?
                                                   000000000 ? CF6AF45C8 ?
                                                   D163B01D0 ?
kktcrt()+1204        CALL     kglpim()             000001154 ?
                                                   FFFFFFFF7FFF7EC8 ?
                                                   D163B01D0 ? 000000002 ?
                                                   000000006 ? 00000004E ?
opiexe()+24660       CALL     kktcrt()             000006000 ?
                                                   FFFFFFFF7BC19328 ?
                                                   D1772AAE0 ? 10C20A950 ?
                                                   FFFFFFFF7BC190C0 ?
                                                   000000002 ?
opiosq0()+6416       CALL     opiexe()             000000004 ? 000000000 ?
                                                   FFFFFFFF7FFFA43C ?
                                                   00010A6E3 ? 10A6E3000 ?
                                                   FFFFFFFF7FFF9E10 ?
kpooprx()+232        CALL     opiosq0()            00000004A ? 00000000E ?
                                                   FFFFFFFF7FFFA600 ?
                                                   0000000A4 ? 00010A6E3 ?
                                                   10C20AC90 ?
kpoal8()+3884        CALL     kpooprx()            FFFFFFFF7FFFDF3C ?
                                                   FFFFFFFF7DFD0660 ?
                                                   0000015EC ? 0000000A4 ?
                                                   00010C000 ? 0000000A4 ?
opiodr()+1428        PTR_CALL kpoal8()             00000005E ? 00000001C ?
                                                   FFFFFFFF7FFFDF38 ?
                                                   00010C000 ? 10C20A000 ?
                                                   000001648 ?
ttcpip()+1056        PTR_CALL opiodr()             00010A795 ? 00000001C ?
                                                   103EAD460 ? 00010A400 ?
                                                   000001400 ? 10C20A000 ?
opitsk()+1528        CALL     ttcpip()             000000000 ? 10A6C7694 ?
                                                   10C20AC90 ?
                                                   FFFFFFFF7FFFDF38 ?
                                                   FFFFFFFF7FFFC980 ?
                                                   10C221848 ?
opiino()+1000        CALL     opitsk()             10A6C7694 ? 10C226C98 ?
                                                   10C221654 ? 10C21F958 ?
                                                   000000000 ? 10C20A950 ?
opiodr()+1428        PTR_CALL opiino()             00010C000 ? 10C2216D0 ?
                                                   10C2216D0 ? 000380000 ?
                                                   0000000E9 ?
                                                   FFFFFFFF7FFFF890 ?
opidrv()+1100        CALL     opiodr()             10C221000 ? 000000004 ?
                                                   1035DD740 ? 00010C000 ?
                                                   000001400 ? 10C20A000 ?
sou2o()+92           CALL     opidrv()             00000003C ? 000000004 ?
                                                   FFFFFFFF7FFFF890 ?
                                                   0001EB250 ?
                                                   FFFFFFFF7C945110 ?
                                                   FFFFFFFF7FFFFC98 ?
opimai_real()+304    CALL     sou2o()              FFFFFFFF7FFFF868 ?
                                                   00000003C ? 000000004 ?
                                                   FFFFFFFF7FFFF890 ?
                                                   00010C000 ? 00010B800 ?
ssthrdmain()+320     PTR_CALL opimai_real()        000000000 ?
                                                   FFFFFFFF7FFFFB38 ?
                                                   FFFFFFFF7F900768 ?
                                                   00010B800 ? 000000001 ?
                                                   000000002 ?
main()+308           CALL     ssthrdmain()         00010C000 ? 000000002 ?
                                                   00044D000 ? 100644B40 ?
                                                   10C230000 ? 00010C230 ?
_start()+380         CALL     main()               000000002 ?
                                                   FFFFFFFF7FFFFC48 ?
                                                   000000000 ?
                                                   FFFFFFFF7FFFFB48 ?
                                                   FFFFFFFF7FFFFC58 ?
                                                   FFFFFFFF7DB00200 ?
--------------------- Binary Stack Dump ---------------------

显然这是利用PL/SQL Developer在创建一个触发器,由于触发器的内容很长,这里将其省略了。
虽然没有MOS的佐证,但是不难判断,问题处在PL/SQL Developer在编译触发器时与Oracle的配合上。虽然不能确定问题导致的原因就是Developer,但是这个错误的产生肯定与工具有关,因为很多罕见的错误都是工具引入的,而Develper引入的ORA-7445和ORA-600错误我这个几乎不用工具的人都已经碰到很多个了,难免这个问题不是Developer与最新版的ORACLE不兼容所致。

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 *