Wednesday, February 18, 2026

ORA-00600 [kqlhdlod-bad-base-objn] in 19c PDB – Dictionary Corruption Repair Using DBMS_DICTIONARY_CHECK


Environment: Oracle 19c Multitenant Database
PDB: FNDEV30
Error Type: ORA-00600 (Internal Error)
Component: Data Dictionary / DBMS_PDB


🚨 Problem Description

The following error was observed in the alert log:

ORA-00600: internal error code, arguments: [kqlhdlod-bad-base-objn], [1403], [849005], [2081137], [88], [5]
ORA-06512: at "SYS.DBMS_PDB", line 85

Trace file location:

/u01/app/oracle/diag/rdbms/fnutcdb/FNUTCDB/trace/FNUTCDB_j000_2280695.trc

Oracle generated incident files and recommended packaging via ADRCI or Support Workbench.


🔎 Understanding the Error

The error ORA-00600 [kqlhdlod-bad-base-objn] indicates a problem related to:

  • Dictionary metadata inconsistency
  • Invalid base object number reference
  • Possible orphaned or corrupted dictionary entry
  • Failure inside DBMS_PDB package

This is an internal error and typically requires Oracle Support involvement.


🛠 Oracle Recommended Solution

Oracle Support advised running the dictionary repair procedure using:

Step 1 – Connect to the affected PDB

SQL> ALTER SESSION SET CONTAINER=FNDEV30;

Step 2 – Run Dictionary Repair

SQL> SET SERVEROUTPUT ON SIZE UNLIMITED;
SQL> EXECUTE DBMS_DICTIONARY_CHECK.FULL(repair=>TRUE);

This command scans and repairs dictionary inconsistencies.


📋 Step 3 – Validate After Repair

SQL> SPOOL dictionary_check_after_repair.log
SQL> SET SERVEROUTPUT ON SIZE UNLIMITED;
SQL> EXECUTE DBMS_DICTIONARY_CHECK.FULL;
SQL> SPOOL OFF;

Review the spool log for remaining issues.


⚠️ Important Notes

WARNING:

• Always take a valid backup before running dictionary repair.
• Run repair only under Oracle Support guidance.
• Test in lower environment if possible.
• Never manually modify dictionary tables.

📌 Best Practices

  • Monitor alert log regularly
  • Package incidents using ADRCI before repair
  • Validate dictionary health during PDB clone/upgrade operations
  • Keep quarterly patches up to date

🎯 Conclusion

ORA-00600 errors involving dictionary corruption can look critical, but Oracle provides a supported repair mechanism using DBMS_DICTIONARY_CHECK.

Always involve Oracle Support, perform backups, and validate thoroughly after repair.

Stay proactive. Monitor. Validate. Repair safely.


Author: Punit – Oracle EBS & Database Specialist

No comments: