Re: DCD and TCP timeout

  • From: Riyaj Shamsudeen <riyaj.shamsudeen@xxxxxxxxx>
  • To: "Hameed, Amir" <Amir.Hameed@xxxxxxxxx>
  • Date: Tue, 12 Nov 2013 15:35:32 -0800

Amir
  Setting expire_time to 1, will send a SQLNET packet every minute ( so a
TCP/IP probe is sent every minute). In normal conditions, a TCP ACK will be
received immediately.

 But, if the client forcefully dies or kills the connections, then TCP
retransmission code kicks-in for the unacknowledged TCP/IP transmission.
The tcp_retries2 kernel parameter controls the behavior of retransmission,
in LINUX. In a connection ESTABLISED state, TCP/IP retransmits 15 times
(default value of tcp_retries2 kernel parameter) , with an exponential
backoff for TCP retransmission interval, before raising an alarm to the
application. Read the link below, and I think, I had similar results as
your test case, last time I performed the test. This behavior is only
applicable to LINUX.

  Do you really care to change the TCP level parameters? If yes, you can
reduce the tcp_retries2 parameter to a value >8 and test it.( Please let me
know if you still see a different behavior after the adjustment). If that
isn't enough,  tcp_keepalive_time can be reduced to 10 minutes, but it can
increase network traffic marginally (one tcp keep alive parameter every 10
minutes to all alive TCP/IP sockets).

 Read :
http://stackoverflow.com/questions/5907527/application-control-of-tcp-retransmission-on-linux

 HTH

Cheers

Riyaj Shamsudeen
Principal DBA,
Ora!nternals -  http://www.orainternals.com - Specialists in Performance,
RAC and EBS
Blog: http://orainternals.wordpress.com/
Oracle ACE Director and OakTable member <http://www.oaktable.com/>

Co-author of the books: Expert Oracle
Practices<http://tinyurl.com/book-expert-oracle-practices/>
, Pro Oracle SQL,  <http://tinyurl.com/ahpvms8>
<http://tinyurl.com/ahpvms8>Expert
RAC Practices 12c. <http://tinyurl.com/expert-rac-12c> Expert PL/SQL
practices <http://tinyurl.com/book-expert-plsql-practices>

<http://tinyurl.com/book-expert-plsql-practices>

Other related posts: