【ora】ORA-0600 error with arguments: [17113].

zibaihe2000發表於2011-11-04

9i的bug,後才ok,plsql dev編譯package報600錯誤。

ORA-0600 error with arguments: [17113].

ORA-0600 error with arguments: [17113].

You may be getting this ORA-600 when recompiling a PL/SQL package.
The Package shows in OEM as valid even though compiling gives ORA-600 error.

You can reproduce the error when a PL/SQL package is in an editor in the PL/SQL developer tool
and you select Compile. But if the package is selected to compile from the window
"navigator" - it compiles successfully.


The alert log shows an error message:

ORA-00600: internal error code, arguments: [17113], [0x000000000], [], [], [], [], [], []

The trace file shows the error originating from the execution of the
sys.dbms_cdc_publish.change_table_trigger procedure.

BEGIN
/* NOP UNLESS A TABLE OBJECT */
IF dictionary_obj_type = 'TABLE' AND sys.dbms_cdc_publish.active > 0
THEN
sys.dbms_cdc_publish.change_table_trigger(dictionary_obj_owner,dictionary_obj_name,'LOCK');
END IF;
END;

The trace file function stack also shows the error occurred when allocating a new extent in memory.


Call stack -
ksedmp ksfdmp kgeriv kgesiv kgesic1 kgherror
kghgex kghfnd kghprmalo kghalp parchk ptmak
pdtidc pdlifu phpcog phpcmp pcicog kkxcog
opitca kksctca rpiswu2 kkslod kglobld kglobpn . . . .

Cause
The issue is with the mechanism(s) that PL/SQL uses to determine if the compilation should be carried out in debug mode or not. This may have been resolved by the fix for unpublished Bug 2298751, which went into 10.1. However, that fix is complex, and cannot be provided as an interim patch. It can only be provided as a Patchset.
Solution
Unpublished Bug 2298751 is fixed in 10.1 but cannot be provided as an interim patch.


The workaround options are
1) upgrade to latest release of 10g where this is fixed

-or-

2) Use the workarounds
Make sure using the latest release of 3rd party tools

-and

Ensure debug is turned off: alter session set plsql_debug=false;

-or-

if not using Change Data Capture (CDC) then simply disable the triggers associated with CDC by running these statements as SYSDBA:

ALTER TRIGGER sys.cdc_alter_ctable_before DISABLE;
ALTER TRIGGER sys.cdc_create_ctable_after DISABLE;
ALTER TRIGGER sys.cdc_create_ctable_before DISABLE;
ALTER TRIGGER sys.cdc_drop_ctable_before DISABLE;

This should stop the errors. If you later decide to use CDC then simply enable these four triggers.

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13247/viewspace-1056150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章