Tuesday, October 23, 2012

Network timeout causing ORA-03113: end-of-file on communication channel

If you have this error from your client connections due to network timeout, try to set



SQLNET.EXPIRE_TIME=10

in sqlnet.ora

Basically it "pings" client every 10 minutes, that small packet resets the network timeout clock.

Here's what Oracle says about this parameter:

http://docs.oracle.com/cd/B28359_01/network.111/b28317/sqlnet.htm#BIIEEGJH

5.2.28 SQLNET.EXPIRE_TIME

Purpose
Use parameter SQLNET.EXPIRE_TIME to specify a time interval, in minutes, to send a probe to verify that client/server connections are active. Setting a value greater than 0 ensures that connections are not left open indefinitely, due to an abnormal client termination. If the probe finds a terminated connection, or a connection that is no longer in use, it returns an error, causing the server process to exit. This parameter is primarily intended for the database server, which typically handles multiple connections at any one time.
Limitations on using this terminated connection detection feature are:
  • It is not allowed on bequeathed connections.
  • Though very small, a probe packet generates additional traffic that may downgrade network performance.
  • Depending on which operating system is in use, the server may need to perform additional processing to distinguish the connection probing event from other events that occur. This can also result in degraded network performance.
Default
0
Minimum Value
0
Recommended Value
10
Example
SQLNET.EXPIRE_TIME=10


No comments:

Post a Comment