RE: SQL*Net - Connection Timeout

From: Justin Cave (DDBC) <jcave_at_ddbcinc.com>
Date: Fri, 29 Feb 2008 16:26:26 -0700
Message-ID: <FF249C724A53714DBE741B2AAF8CA346012DBE61@EXCHANGE.ddbc.local>


I believe that the timeout is controlled at the TCP/IP level.

Can you look at the problematic machine and see if someone has decided to be clever an muck with the default TCP/IP settings? For example, lots of logic is based on the TcpInitialRTT parameter, which includes the warning

"This parameter controls the initial time-out used for a TCP connection request and initial data retransmission on a per-interface basis. Use caution when tuning with this parameter because exponential backoff is used. Setting this value to larger than 3 results in much longer time-outs to nonexistent addresses."

http://technet.microsoft.com/en-us/library/bb726981.aspx

Justin Cave
Distributed Database Consulting, Inc.

From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Moore, Paul Sent: Friday, February 29, 2008 11:16 AM To: oracle-l_at_freelists.org
Subject: SQL*Net - Connection Timeout

I have a problem with a remote database, where any attempt to connect to that database from one particular client hangs indefinitely (more precisely, for longer than I have been willing to wait to see if it's actually "hours" rather than "forever" :-)) The inability to connect from this particular client isn't a major problem, but having jobs which attempt to connect hang indefinitely rather than fail with a TNS timeout error is.
I have looked through the SQL*Net reference, and asked colleagues, but I cannot find any way of setting a parameter to say that the client (OCI, actually Python with cx_Oracle) connection should timeout after XXX seconds, regardless. Is there such a setting anywhere? The connection attempt is part of a long-running process, so I cannot simply kill the hung process. Running the connection in a thread and giving up waiting after a timeout sort of works, but the thread stays there, hung, and as time goes on the process accumulates hung threads. I'd really, really like to avoid having to re-engineer my process to spawn subprocesses for each connection (especially as this is on Windows where spawning subprocesses is a bit of a pain compared to using threads).
Has anyone got any suggestions?
Thanks,
Paul
Paul Moore
Oracle DBA Support
Atos Origin UK Ltd
Daresbury Court
Runcorn
Tel: +44 (0)1928 598537


 

Atos Origin and Atos Consulting are trading names used by the Atos Origin group. The following trading entities are registered in England and Wales: Atos Origin IT Services UK Limited (registered number 01245534) and Atos Consulting Limited (registered number 04312380). The registered office for each is at 4 Triton Square, Regents Place, London, NW1 3HG.  

This e-mail and the documents attached are confidential and intended solely for the addressee, and may contain confidential or privileged information. If you receive this e-mail in error, you are not authorised to copy, disclose, use or retain it. Please notify the sender immediately and delete this email from your systems. As emails may be intercepted, amended or lost, they are not secure. Atos Origin therefore can accept no liability for any errors or their content. Although Atos Origin endeavours to maintain a virus-free network, we do not warrant that this transmission is virus-free and can accept no liability for any damages resulting from any virus transmitted. The risks are deemed to be accepted by everyone who communicates with Atos Origin by email.


 
--
http://www.freelists.org/webpage/oracle-l
Received on Fri Feb 29 2008 - 17:26:26 CST

Original text of this message