|
|
Key Word :
Dead Connection Detection
wish the following document can help u:
1.
Dead Connection Detection (DCD) is a feature of SQL*Net 2.1 and later, including
Net8. It detects when a partner in a SQL*Net V2 client/server or server/server
connection has terminated unexpectedly, and releases the resources associated
with it.
DCD is intended primarily for environments in which clients power down their
systems without disconnecting from their Oracle sessions, a problem characteristic
of networks with PC clients.
DCD is initiated on the server when a connection is established. At this
time SQL*Net reads the SQL*Net parameter files and sets a timer to generate an
alarm. The timer interval is set by providing a non-zero value in minutes for
the SQLNET.EXPIRE_TIME parameter in the sqlnet.ora file.
2.
On most OS'es (even more recent versions of Windows) if a process exits
abnormally or is killed by an administrator, the OS will still gracefully
clean up resources associated with that process including the network
connection(s). It will tell the server on the other end that it is closing
the network connection. DCD is still useful for times when there are problems
with the physical network (e.g. ethernet cable falls off the machine) or if the
OS kernel panics and crashes (e.g. blue screen of death) before it can close
the network connections. It may have another side benefit with certain load
balancing hardware, that may prematurely abort connections it thinks have been
idle too long, by sending a dummy packet to the client periodically.
Under no circumstances should you rely 100% on Dead Connection Detection.
It was developed to handle clients that have abnormally exited. Clients
should always exit their applications gracefully. It is the responsibility of
the application developer to make this possible. DCD is intended only to clean
up after abnormal events.
DCD is much more resource-intensive than similar mechanisms at the protocol
level, so if you depend on DCD to clean up all dead processes, that will put
an undue load on the server.
Clearly it is advantageous to exit applications cleanly in the first place. |
|