In this Document
Applies to:Oracle Net Services - Version 10.2.0.5 to 126.96.36.199 [Release 10.2 to 12.1]
Information in this document applies to any platform.
***Checked for relevance on 23-SEPT-2015***
You might also see the errors ORA-12170 or TNS-12535 in the sqlnet.log that is generated on the server.
Check $ORACLE_HOME/network/log for this file. This entry should contain client address from which the timeout originated and may be helpful in determining how to troubleshoot the issue. Some applications or JDBC thin driver applications may not have these details. The sqlnet.log file is not generated by default in 11g and newer.
From 10.2.0.1 onwards the default setting for the parameter SQLNET.INBOUND_CONNECT_TIMEOUT is 60 seconds. If the client is not able to authenticate within 60 seconds, the warning would appear in the alert log and the client connection will be terminated.
Note: This timeout restriction was introduced to combat Denial of Service (DoS) attack whereby malicious clients attempt to flood database servers with connect requests that consumes resources.
The following are the most likely reasons for this error -
The default value of 60 seconds is good enough in most conditions for the database server to authenticate a client connection. If it is taking longer, then it's worth checking the following items before implementing the workaround:
1. Check whether local connection on the database server is successful & quick.
2. If local connections are quick ,then check for underlying network delay with the help of your network administrator.
3. Check whether your Database performance has degraded in anyway.
4. Check alert log for any critical errors for eg, ORA-600 or ORA-7445 and get them resolved first.
These critical errors might have triggered the slowness of the database server.
It is often necessary to increase the values for INBOUND CONNECT TIMEOUT at both the listener and the database in order to resolve this issue. It is usually advisable to set the database (sqlnet.ora) value slightly higher than the listener (listener.ora). The authentication process is more demanding for the database than the listener.
To set these parameters to use values higher than the default of 60 seconds, follow these instructions and restart the listener. There is no need to restart Oracle:
Edit the server side sqlnet.ora file and add this parameter:
SQLNET.INBOUND_CONNECT_TIMEOUT = 120
Edit the listener.ora file and add this parameter:
For example if the listener name is LISTENER then use:
INBOUND_CONNECT_TIMEOUT_LISTENER = 110
From Oracle version 10.2.0.1 onwards the default value of INBOUND_CONNECT_TIMEOUT_
How to check whether inbound timeout is active for the listener:
For example, INBOUND_CONNECT_TIMEOUT_
You can check whether the parameter is active or not by simply doing telnet to the listener port.
$ telnet 188.8.131.52 1521
The telnet session should disconnect after 110 seconds which indicates that the inbound connection timeout for the listener is active.
Alternatively, check at the LSNRCTL prompt using:
To check whether database server SQLNET.INBOUND_CONNECT_TIMEOUT is active: