ORA-600 Lookup Error Categories (part 1b)
ORA-600 Lookup Error Categories
In the Oracle Server source, there are two types of ora-600 error :
à the first parameter is a number which reflects the source component or layer the error is connected with;
at the first parameter is a mnemonic which indicates the source module where the error originated. This type of internal error is now used in preference to an internal error number.
Both types of error may be possible in the Oracle server.
Internal Errors Categorised by number range
The following table provides an indication of internal error codes used in the Oracle server. Thus, if ora-600[X] is encountered, it is possible to glean some high level background information : the error in generated in the Y layer which indicates that there may be a problem with Z.
|1||Service Layer||The service layer has within it a variety of service related components which are associated with in memory related activities in the SGA such as, for example : the management of Enqueues, System Parameters, System state objects (these objects track the use of structures in the SGA by Oracle server processes), etc.. In the main, this layer provides support to allow process communication and provides support for locking and the management of structures to support multiple user processes connecting and interacting within the SGA.Note : vos – Virtual Operating System provides features to support the functionality above. As the name suggests it provides base functionality in much the same way as is provided by an Operating System.
|2000||Cache Layer||Where errors are generated in this area, it is advisable to check whether the error is repeatable and whether the error is perhaps associated with recovery or undo type operations; where this is the case and the error is repeatable, this may suggest some kind of hardware or physical issue with a data file, control file or log file. The Cache layer is responsible for making the changes to the underlying files and well as managing the related memory structures in the SGA.Note : rcv indicates recovery. It is important to remember that the Oracle cache layer is effectively going through the same code paths as used by the recovery mechanism.
It is important to consider when the error occurred and the context in which the error was generated. If the error does not reproduce, it may be an in memory issue.
|4000||Transaction Layer||Primarily the transaction layer is involved with maintaining structures associated with the management of transactions. As with the cache layer , problems encountered in this layer may indicate some kind of issue at a physical level. Thus it is important to try and repeat the same steps to see if the problem recurs.
It is important to try and determine what the object involved in any reproducible problem is. Then use the analyze command. For more information, please refer to the analyze command as detailed in the context of ; in addition, it may be worth using the dbverify as discussed in .
|6000||Data Layer||The data layer is responsible for maintaining and managing the data in the database tables and indexes. Issues in this area may indicate some kind of physical issue at the object level and therefore, it is important to try and isolate the object and then perform an anlayze on the object to validate its structure.
Again, it is important to try and determine what the object involved in any reproducible problem is. Then use the analyze command. For more information, please refer to the analyze command as detailed in the context of ; in addition, it may be worth using the dbverify as discussed in .
|12000||User/Oracle Interface & SQL Layer Components||This layer governs the user interface with the Oracle server. Problems generated by this layer usually indicate : some kind of presentation or format error in the data received by the server, i.e. the client may have sent incomplete information; or there is some kind of issue which indicates that the data is received out of sequence
You should try and repeat the issue and with the use of sql trace , try and isolate where exactly the issue may be occurring within the application.
|14000||System Dependent Component internal error values||This layer manages interaction with the OS. Effectively it acts as the glue which allows the Oracle server to interact with the OS. The types of operation which this layer manages are indicated as follows.
|local user access validation; challenge / response activity for remote access validation; auditing operation; any activities associated with granting and revoking of privileges; validation of password with external password file|
|15100||dict/sqlddl||this component manages operations associated with creating, compiling (altering), renaming, invalidating, and dropping procedures, functions, and packages.|
|15160||optim/cbo||cost based optimizer layer is used to determine optimal path to the data based on statistical information available on the relevant tables and indexes.|
|15190||optim/cbo||cost based optimizer layer. Used in the generation of a new index to determine how the index should be created. Should it be constructed from the table data or from another index.|
|15200||dict/shrdcurs||used to in creating sharable context area associated with shared cursors|
|15230||dict/sqlddl||manages the compilation of triggers|
|dictionary lookup and library cache access|
|15400||server/drv||manages alter system and alter session operations|
|15410||progint/if||manages compilation of pl/sql packages and procedures|
|15500||dict/dictlkup||performs dictionary lookup to ensure semantics are correct|
|hash join execution management;
parallel row source management
|15600||sqlexec/pq||component provides support for Parallel Query operation|
|15620||repl/snapshots||manages the creation of snapshot or materialized views as well as related snapshot / MV operations|
|15640||repl/defrdrpc||layer containing various functions for examining the deferred transaction queue and retrieving information|
|15660||jobqs/jobq||manages the operation of the Job queue background processes|
|15670||sqlexec/pq||component provides support for Parallel Query operation|
|15700||sqlexec/pq||component provides support for Parallel Query operation; specifically mechanism for starting up and shutting down query slaves|
|15800||sqlexec/pq||component provides support for Parallel Query operation|
|15810||sqlexec/pq||component provides support for Parallel Query operation; specifically functions for creating mechanisms through which Query co-ordinator can communicate with PQ slaves;|
|15820||sqlexec/pq||component provides support for Parallel Query operation|
|15850||sqlexec/execsvc||component provides support for the execution of SQL statements|
|15860||sqlexec/pq||component provides support for Parallel Query operation|
|16000||loader||sql Loader direct load operation;|
|16150||loader||this layer is used for ‘C’ level call outs to direct loader operation;|
|16200||dict/libcache||this is part of library Cache operation. Amongst other things it manages the dependency of SQL objects and tracks who is permitted to access these objects;|
|16230||dict/libcache||this component is responsible for managing access to remote objects as part of library Cache operation;|
|16300||mts/mts||this component relates to MTS (Multi Threaded Server) operation|
|16400||dict/sqlddl||this layer contains functionality which allows tables to be loaded / truncated and their definitions to be modified. This is part of dictionary operation;|
|16450||dict/libcache||this layer layer provides support for multi-instance access to the library cache; this functionality is applicable therefore to OPS environments;|
|16500||dict/rowcache||this layer provides support to load / cache Oracle’s dictionary in memory in the library cache;|
|16550||sqlexec/fixedtab||this component maps data structures maintained in the Oracle code to fixed tables such that they can be queried using the SQL layer;|
|16600||dict/libcache||this layer performs management of data structures within the library cache;|
|16651||dict/libcache||this layer performs management of dictionary related information within library Cache;|
|16701||dict/libcache||this layer provides library Cache support to support database creation and forms part of the bootstrap process;|
|17000||dict/libcache||this is the main library Cache manager. This Layer maintains the in memory representation of cached sql statements together will all the necessary support that this demands;|
|17090||generic/vos||this layer implementations error management operations: signalling errors, catching errors, recovering from errors, setting error frames, etc.;|
|17100||generic/vos||Heap manager. The Heap manager manages the storage of internal data in an orderly and consistent manner. There can be many heaps serving various purposes; and heaps within heaps. Common examples are the SGA heap, UGA heap and the PGA heap. Within a Heap there are consistency markers which aim to ensure that the Heap is always in a consistent state. Heaps are use extensively and are in memory structures – not on disk.|
|17200||dict/libcache||this component deals with loading remote library objects into the local library cache with information from the remote database.|
|17250||dict/libcache||more library cache errors ; functionality for handling pipe operation associated with dbms_pipe|
|17270||dict/instmgmt||this component manages instantiations of procedures, functions, packages, and cursors in a session. This provides a means to keep track of what has been loaded in the event of process death;|
|17300||generic/vos||manages certain types of memory allocation structure. This functionality is an extension of the Heap manager.|
|17500||generic/vos||relates to various I/O operations. These relate to async i/o operation, direct i/o operation and the management of writing buffers from the buffer cache by potentially a number of database writer processes;|
|17625||dict/libcache||additional library Cache supporting functions|
|17990||plsql||plsql ‘standard’ package related issues|
|18000||txn/lcltx||transaction and savepoint management operations|
|19000||optim/cbo||cost based optimizer related operations|
|20000||ram/index||bitmap index and index related errors.|
|20400||ram/partnmap||operations on partition related objects|
|20500||server/rcv||server recovery related operation|
|replication related features|
|23000||oltp/qs||AQ related errors.|
|24000||dict/libcache||operations associated with managing stored outlines|
|25000||server/rcv||tablespace management operations|