1 Dec
ORA-03113: End-of-file on communication channel
Applications typically connect to an Oracle service over a network using TCP/IP sockets. When that connection is lost, the application-side Oracle client software raises ORA-03113: End-of-file on communication channel. Essentially, this error indicates that the connection to the Oracle service has been lost.
The most common reason for losing the server connection is that the Oracle server process that was servicing the application has died. In Oracle, individual server processes can (and often do) die without the whole service (instance) failing.
The best way to troubleshoot ORA-03113 is to examine the Oracle instance for errors. The DBA should look for errors in the alert log indicating server process death. By addressing the errors that are crashing individual server processes, the overall problem can be solved.
If an application continues to try to make requests against a dead connection that has failed with ORA-03113, it will raise ORA-01041: Internal error. Hostdef extension doesn’t exist. or ORA-03114: not connected to ORACLE.
Example:
SQL> select * from emp;
select * from emp
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
SQL> select * from emp;
ERROR:
ORA-03114: not connected to ORACLE
To view the last 100 lines of the alert log on the server, use ADR:
$ adrci ADRCI: Release 11.2.0.2.0 - Production on Thu Dec 1 15:38:15 2011 ADR base = "/u01/app" adrci> show homes diag/tnslsnr/ip-10-100-255-165/listener diag/rdbms/uw01/uw01 adrci> set home diag/rdbms/uw01/uw01 adrci> show alert -tail 100
Alternately, do it the old-fashioned way (on Linux or Unix):
$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.2.0 Production on Thu Dec 1 15:43:43 2011 Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> show parameter background_dump NAME TYPE VALUE ------------------------------------ ----------- ----------------------------------- background_dump_dest string /u01/app/diag/rdbms/uw01/uw01/trace SQL> exit Disconnected from Oracle Database 11g... $ tail -100 /u01/app/diag/rdbms/uw01/uw01/trace/alert_uw01.log
