Oracle errors

ORA-00600: internal error code

ORA-00600: internal error code, arguments: [...]

An internal check inside the Oracle kernel failed. This is not a mistake in your SQL as such: it usually points to an Oracle bug or corruption. The first argument identifies the problem; look it up in My Oracle Support with the trace file in hand.

What ORA-00600 means

ORA-00600 is Oracle’s generic internal error. The arguments in square brackets are what matter: the first one identifies the code location, and the rest add detail. Two ORA-00600 errors with different first arguments are unrelated problems. Oracle writes a trace file and an incident into the Automatic Diagnostic Repository (ADR) each time.

Common causes of ORA-00600

How to fix ORA-00600

  1. Read the alert log and note the first argument and the trace file name.
  2. Search My Oracle Support with the first argument; the ORA-600 lookup tool (Doc ID 153788.1) is the usual starting point.
  3. Find out whether the error follows one statement. A different plan or a rewritten query is often a safe temporary workaround.
  4. If corruption is possible, check with RMAN VALIDATE or DBVERIFY.
  5. Package the incident with adrci and open a service request; apply the recommended patch.

ORA-00600 example

Find recent incidents and package one for Oracle Support:

adrci> SHOW INCIDENT -MODE BRIEF
adrci> IPS PACK INCIDENT 12345 IN /tmp

Check the database for block corruption:

RMAN> VALIDATE CHECK LOGICAL DATABASE;

SELECT * FROM v$database_block_corruption;

In SQLlightspeed

When a statement fails, SQLlightspeed’s error panel shows the error code with a plain-language explanation and a suggestion for what to do next, together with Oracle’s own message and a link to Oracle’s documentation — for this error and dozens of other common ones.

Related errors

ORA-03113ORA-04031ORA-01555 All Oracle errors →

Oracle documentation for ORA-00600. Oracle is a registered trademark of Oracle Corporation. SQLlightspeed is not affiliated with Oracle.