Compiling an Object returns ORA-00600: internal error code, arguments: [kqlobjlod-no-result-from-proc$], [1403], [14145284]
SQL> alter package apps.GMD_TECH_PARAMS compile body;
alter package apps.GMD_TECH_PARAMS compile body
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kqlobjlod-no-result-from-proc$], [1403], [14145284], [], [], [], [], [], [], [], [], []
The error is self explanatory.
1403 - no data found
14145284 - object# from sys.procedure$ table
This happens when utlrp.sql trying to compile an object and DBA killed the session in the database.
SQL> select * from sys.procedure$ where obj# = 14145284;
no rows selected
SQL> select owner, object_name, object_type, status from dba_objects where object_id=14145284;
no rows selected
There is no direct solution for the dictionary table corruption.
Workaround is to insert a record in sys.procedure$ table for the missing object#.
Make sure you have complete backup of your database, atleast the sys.procedure$ table.
SQL> insert into sys.procedure$ values (14145284,'--------------------------------',null,2);
1 row created.
SQL> commit;
Commit complete.
Recompile the object again.
SQL> alter package apps.GMD_TECH_PARAMS compile body;
Package body compiled.
========================================================================
2 comments:
This cropped up in 19c for me, and this was very helpful, thanks!
Thanks, perfectly worked.
Post a Comment