Using the OERR Utility to Aid in Error Investigation

Many Oracle products on UNIX have a utility called OERR that can be used to aid error investigation. The OERR utility is not documented so many new to Oracle on UNIX may not be aware of its existence.

The OERR utility is a shell script that is located in the ORACLE_HOME/bin directory. OERR requires the ORACLE_HOME to be set and two parameters when called: the facility which is the three to four letter code to the left of dash and the error number.

[oracle@prod ~]$ oerr
Usage: oerr facility error

Facility is identified by the prefix string in the error message.
For example, if you get ORA-7300, "ora" is the facility and "7300"
is the error.  So you should type "oerr ora 7300".

If you get LCD-111, type "oerr lcd 111", and so on.
[oracle@prod ~]$

OERR will extract the error description, possible cause and action steps the message text files. Below are some examples.

[oracle@prod ~]$ oerr ora 3113
03113, 00000, "end-of-file on communication channel"
// *Cause: The connection between Client and Server process was broken.
// *Action: There was a communication error that requires further investigation.
//          First, check for network problems and review the SQL*Net setup. 
//          Also, look in the alert.log file for any errors. Finally, test to 
//          see whether the server process is dead and whether a trace file
//          was generated at failure time.
[oracle@prod ~]$

[oracle@prod ~]$ oerr tns 03505
03505, 00000, "Failed to resolve name"
// *Cause:  The service name you provided could not be found in TNSNAMES.ORA,
//          an Oracle Names server, or a native naming service.
// *Action: Verify that you entered the service name correctly.  You may need
//          to ensure that the name was entered correctly into the network
//          configuration.
[oracle@prod ~]$ 

In many cases the information provided by OERR can set you down the correct path to problem resolution. Sometimes OERR may not provide cause or action information.

[oracle@prod mesg]$ oerr ora 00576
00576, 00000, "in-band break protocol error"
// *Cause:
// *Action:
[oracle@prod mesg]$ 

If you are unfamiliar with the error OERR can provide a quick coming up to speed on identifying the problem to assist in resolution.

3 thoughts on “Using the OERR Utility to Aid in Error Investigation”

Leave a Reply

Your email address will not be published. Required fields are marked *