The following are the most likely reasons for this error -
- Very often this error is thrown because a client or application is attempting to connect using the wrong userid or password.
See the following: Note: 793259.1 ORA-1017 May Cause ORA-3136 WARNING : Inbound Connection Timed Out in Alert Log - The server receives a valid client connection request but the client takes a long time to authenticate more than the default 60 seconds.
- The DB server is heavily loaded due to which it cannot finish the client logon within the timeout specified.
To understand what is causing this issue, following checks can be done
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.
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.
To set these parameters to use values higher than the default of 60 seconds, follow these instructions:
Edit the server side sqlnet.ora file and add this parameter. It is important to note that in RAC the database
will reference a sqlnet.ora file in its own home and not in Grid where the listener is running.
So to be clear, add this line to the sqlnet.ora file in $RDBMS_HOME/network/admin:
SQLNET.INBOUND_CONNECT_TIMEOUT=<n> Where <n> is the value in seconds.
大概意思就是主要为在指定时间(默认为60秒)内客户端没有成功连接上服务器导致,可能是DB负载比较高,或者网络延时等造成。
解决办法是:
修改sqlnet.ora文件,添加SQLNET.INBOUND_CONNECT_TIMEOUT=180参数。