Print Friendly, PDF & Email

 
REQUEST

All abnormally terminated sessions between a database server and a client must be disconnected automatically

 
 
SOLUTION

 
DCD is intended primarily for environments in which clients power down their systems or client machines crash unexpectedly without disconnecting from Oracle Database sessions.
This feature is configured on Oracle Database server side and is controlled/enabled by using parameter SQLNET.EXPIRE_TIME in sqlnet.ora

Purpose
To specify a time interval, in minutes, to send a check to verify that client/server connections are active.

Usage Notes
Setting a value greater than 0 ensures that connections are not left open indefinitely, due to an abnormal
client termination. If the system supports TCP keepalive tuning, then Oracle Net Services automatically uses
the enhanced detection model, and tunes the TCP keepalive parameters

If the probe finds a terminated connection, or a connection that is no longer in use, then 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

 
For instance

[oracle@dbpilot.net ~]$ cat $ORACLE_HOME/network/admin/sqlnet.ora
NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
SQLNET.EXPIRE_TIME=10
SQLNET.INBOUND_CONNECT_TIMEOUT=180

 
 

Version  : 22:22 11.08.2020
Database : 11.2.0.4