I just got/found an ORA-00600 after doing < X >. What should I do?

You have just been alerted that the database has encountered an ORA-00600, what should you do?

This is a common question on many Oracle related forums. Unfortunately, no one monitoring the forums can provide the answer to that question.

An ORA-00600 indicates that Oracle encountered an exception in which it does not know how to address. An ORA-00600 is not necessarily a bug in Oracle even though the description for the error suggests it be reported as a bug.

[oracle@ora1 ~]$ oerr ora 00600
00600, 00000, "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"
// *Cause:  This is the generic internal error number for Oracle program
//         exceptions.  This indicated that a process encountered an
//         exceptional condition.
// *Action: Report as a bug - the first argument is the internal error number.
[oracle@ora1 ~]$

A trace file is generated and an entry is added to the alert log when an ORA-00600 is raised. The entry in the alert file will provide the name and location of the trace file.

Wed Jul 26 15:28:13 2006
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_asmb_13321.trc:
ORA-00600: internal error code, arguments: [kffmXpGet], [478], [229440], [], [], [], [], []
Wed Jul 26 15:28:14 2006

The best resource to use to find a solution to your problem is Oracle Support. My Oracle Support has a tool that can be used to aid in finding a resolution to an ORA-00600. Below is a screen shot of the Troubleshoot an ORA-600 or ORA-7445 Error Using the Error Lookup Tool.

There are two ways in which you can use the tool to find a solution to your problem: Lookup by Code and Search Call Stack.

For the Lookup By Code all you need is the first argument from the error. The first argument in the ORA-00600 tells Oracle Support where in the code the error occurred. The other arguments supply further information about the error.

The Lookup Error option will retrieve the description of the ORA-00600 if the error is published. If the error is not published it will record the request and perform an advanced search.

The Search Knowledge base will do an advanced search of the knowledge base for ORA-600 [].

If results are found they will be displayed on the next page.

Search the Call Stack is the other way to search. The call stack can be found in the trace file between

----- Call Stack Trace -----

and

--------------------- Binary Stack Dump ---------------------

The Search the Call Stack does an advanced search that includes all the values under the calling location not including the () and +##. It is very possible that the search will not return results if you have the phrase “Cannot find symbol” or a calling location that has a value between < >. If that is the case you can remove them from the search and search again.

Even if you find notes that appear to match the problem you are having you should still open a service request with Oracle Support.