ORA-0600: Internal Code Error


Explanation: Any ORA-600 error indicates Oracle has detected an internal inconsistency or a problem which it doesnít know how best to address. These are not necessarily bugs and can occur for reasons such as Operating System, IO Problems, and Running out of some resources and so on.

Cause: This generic internal error number for oracle program exceptions. This indicates that a process has encountered an exceptional condition.

Note: This type of errors is raised from kernel code of the Oracle RDBMS software when there is an inconsistency in detected or unexpected condition is noticed. This situation need not be considered as bug all the time; it might be caused by problems with operating system, lack of resources etc.

With the ORA-600 error comes with a list of arguments in square brackets. The first of these arguments tells us from where in the code the error was caught and this is the key information for identifying the problem. This can be either numbers or arguments.

Whenever there is an ORA-600 error is raised a trace file is generated in either Udump or Bdump depending on whether the error was caught in a user or a background process. The information is also present in the alert log.

Remedy: Contact Oracle Support.

ï Report as bug if the first argument is the internal error number

The most useful items are:

ï Check the alert log for the instance or any other instances in a parallel server environment. Alert log is present in Background_dump_dest

ï Check the trace file for the failing session and other related trace files

ï Check whether anything got changed recently in the system environment such OS been upgraded, patches, database files got restored etc.

ï Make sure whether the problem is reproducible or one time occurrence

The following is partial list of the ORA-00600 known bugs and issues. You can find complete list and details about these bugs at Oracle Metalink.

ï Partial list of ORA-00600 known bugs and issues:

  1. An Oracle ORA-00600 [729]: indicates a memory leak in the UGA. Setting diagnostic events 10262 ignores this error, that is, no ORA-00600 is produced even if a memory leak is detected.
  2. ORA-00600 [16365]: indicates a Half Duplex Violation. Shared servers and dispatchers cannot both be writing to the same virtual circuit at the same time because they communicate with a half-duplex protocol (TTC protocol).
  3. ORA-00600 [kghpih:ds] : and ORA-00600 [17175] may occur in oracle when two processes work on the same library cache object. Fixed in oracle… Note: 300604.1
  4. An Oracle ORA-00600 [3020]: Bug.2322620 – RECOVERY HALTED ON PHYSICAL STANDBY WITH ORA-600 AND ORA-10564 Details: ORA-600 [3020] can occur on recovery of LOB data. Fixed in Patch available. This error occurred on our database recovery on the primary server.
  5. ora-00600 [12333]: Most probably a network error that may have caused bad data to be received or the client application may have sent the wrong data in the network buffer.
  6. Oracle ORA-00600 [12700]: Indicates corruption in index, table or the mapping between them. Upon this discovery, oracle marks the whole block as corrupt and users will not have normal access to the data from the corrupted block. This can also break referential integrity and should be referred to oracle.
  7. ORA-00600 [lxhcsn]: Shutdown may dump ORA-7445. Known Bug 2311529

Conclusion: This must be taken as a serious issue and contact Oracle support or raise a SR for unknown issues