Detecting Dead Connections
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 dead—in other words, the client machine can no longer be contacted—are terminated.
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.
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 ...