Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Dead Connection Detection is ... dead?

Re: Dead Connection Detection is ... dead?

From: Mark Anderson <fnmpa_at_uaf.edu>
Date: Fri, 13 Oct 2006 18:00:54 -0800
Message-ID: <453044D6.1090506@uaf.edu>


I saw that too, so I didn't look for it in the trace file. We were watching the router's own report of connections it was handling, which contained lines something like:

<IP address of Oracle client host>     <IP address of Oracle server 
host>:1521       (X seconds remaining)

where X starts at 70 and counts down to 0, resetting to 70 whenever the router sees any traffic on the connection. We also used "tcpdump -i eth0 -n host <Oracle client host IP>" on the Oracle server host and did not see any traffic after 60 seconds.

But, just now, when the router timeout was increased to 130 seconds, we did see some traffic from port 1521 on the server host to the client host, two minutes after the client connected. Remember that the Oracle client program is deliberately silent after its initial login and is the only application running on its host. So this activity at 2 minutes (rather than 1 as configured) may be the DCD probe. If so, I would welcome any thoughts on why the DCD is not behaving as configured.

Could you expand on what you mean by "there are usually issues with low expire_time because of usually high tcp/ip timout value"? I had thought the issues there were that, when the connection really was dead, it was not detected by Oracle in a timely way because the OS would repeatedly retry sending the DCD probe packet on the dead connection before timing out and informing Oracle that the connection was dead. This delay would be aggravated by a low configured expire-time. But I don't see how that relates to my case.

Thank you,

Mark

Alex Gorbachev wrote:

> Actually, I just remebered that there are usually issues with low
> expire_time because of usually high tcp/ip timout value. I also looked
> briefly at the note you mentioned and found confirmation there. I also
> saw this there:
> "Note: from version 9.2.0.4.0 onwards, DCD probe packets are no longer
> traced in
> SQL*Net trace files, however DCD packets can be observed using other
> forms of
> tracing, such as network sniffer tracing."
>
> Perhaps, that's why you don't see the packets in the trace file?
>
> On 10/13/06, Mark Anderson <fnmpa_at_uaf.edu> wrote:
>
>> My apparent problem is that my server is not sending DCD probe packets
>> to my client even though SQLNET.EXPIRE_TIME=1 in
>> $OH/network/admin/sqlnet.ora.
>>
>> Oracle server is 10.1.0.5.0 on Red Hat EL release 3
>> Oracle client is 10.2.0.1.0 on Fedora Core release 3
>>
>> Between client and server is a router which is deliberately configured
>> to close any connection which is idle for longer than a configured
>> length of time (presently 70 seconds, although this is negotiable).
>>
>> To keep the connection open by ensuring there was activity on the
>> connection every 60 seconds I added the following lines to
>> $OH/network/admin/sqlnet.ora:
>>
>> SQLNET.EXPIRE_TIME=1
>> TRACE_LEVEL_SERVER=16
>> TRACE_DIRECTORY_SERVER=/home/oracle
>>
>> Trace files started to appear in /home/oracle. Most, but not all,
>> contained a line like:
>>
>> [13-OCT-2006 21:29:44:296] niotns: Enabling dead connection detection (1
>> min)
>>
>> and lines like
>>
>> [13-OCT-2006 21:29:44:309] nstimini: entry
>> [13-OCT-2006 21:29:44:309] nstimig: entry
>> [13-OCT-2006 21:29:44:309] nstimig: normal exit
>> [13-OCT-2006 21:29:44:309] nstimini: initializing LTM in asynchronous
>> mode
>> [13-OCT-2006 21:29:44:309] nstimini: normal exit
>> [13-OCT-2006 21:29:44:309] nstimstart: entry
>>
>> Which are described in Note 151972.1 "Dead Connection Detection (DCD)
>> Explained" as evidence that DCD is enabled. The trace files without
>> these lines were very short.
>>
>> I opened a connection to the server from the client (which was otherwise
>> idle) using a Oracle DBI script that did nothing but log in and sleep at
>> the client. Our network admin monitoring the router could see the
>> connection appear between the client host and port 1521 of the server
>> host and the 70-second clock start to tick. It counted down to 0
>> without resetting, from which I infer that no DCD probe packets were
>> sent from the server to the client. Is this inference reasonable? If
>> it is, does anyone know why the DCD probe packets weren't sent?
>>
>> Thanks in advance,
>>
>> Mark
>>
>> --
>> http://www.freelists.org/webpage/oracle-l
>>
>>
>>
>
>

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Oct 13 2006 - 21:00:54 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US