4.7 Detecting Dead Connections

Team-Fly    

 
Oracle Net8 Configuration and Troubleshooting
By Jonathan Gennick, Hugo Toledo
Table of Contents
Chapter 4.  Basic Server Configuration


Dead connection detection is a feature whereby the server periodically tests each client connection to ensure that the client is still reachable and that the connection is still active. Connections that have gone deadin other words, the client machine can no longer be contactedare terminated .

4.7.1 Why Worry About Dead Connections?

Dead connection detection is important because each connection to a database consumes resources. In a dedicated server configuration, each connection has an associated server process. This was illustrated in Figure 4.3 earlier in the chapter. Connections may also have open transactions and may hold locks that block other users from accessing or modifying data.

In the event that a Net8 connection is lost, you don't want the connection's locks, transactions, and associated server process to remain forever. By using dead connection detection, you enable Oracle to detect a lost connection, roll back any open transactions, release any locks held, and delete the dedicated server process.

4.7.2 Setting the SQLNET.EXPIRE_TIME Parameter

Dead connection detection is controlled by the SQLNET.EXPIRE_TIME parameter in the sqlnet.ora file. By default, dead connection detection is not enabled, and you won't have any entry at all for this parameter in sqlnet.ora .

Dead connection detection works by having the server periodically send a Net8 packet, referred to as a probe , to the client to verify that the client is still connected. If the Net8 software on the server receives no error in response to sending the probe, the connection is deemed to be alive . If the probe fails, the connection is presumed lost, and Oracle initiates cleanup activities. Clients do not acknowledge dead connection probes. The detection is done entirely from the server, and depends on the underlying protocol to reliably report transmission failures.

The SQLNET.EXPIRE_TIME parameter controls the frequency of the probe. The frequency is expressed in minutes. The default value is zero, which means that probing never occurs. To have Net8 probe client connections every 10 minutes, place the following line in your sqlnet.ora file:

 SQLNET.EXPIRE_TIME = 10 

Dead connection detection is always controlled by the server. SQLNET.EXPIRE_TIME settings in client sqlnet.ora files are ignored.


Team-Fly    
Top
 


Oracle Net8 Configuration and Troubleshooting
Oracle Net8 Configuration and Troubleshooting
ISBN: 1565927532
EAN: 2147483647
Year: 2000
Pages: 120

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net