Send your questions to appsdbauniverse@gmail.com

Sunday, February 21, 2016

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:

Adam vonNieda said...

This cropped up in 19c for me, and this was very helpful, thanks!

Unknown said...

Thanks, perfectly worked.

Post a Comment