WARNING: inbound connection timed out (ORA-3136)
当警报日志中出现错误WARNING: inbound connection timed out (ORA-3136)时,我们通常会认为是由于网络原因或者服务器的负载过重,导致客户端在规定的时间内没有办法成功连接数据库,从而出现的错误,详见“Troubleshooting ORA - 3136 WARNING Inbound Connection Timed Out"
但其实还有一个很常见的原因会导致在alert文件中见到这个错误:当一个客户端发出一个连接,使用了错误的用户名/密码,并且在相同的提示符下,如SQL提示符下,在1分钟的时间内(默认值,由SQLNET.INBOUND_CONNECT_TIMEOUT参数决定)没有输入别的信息,则在alert log文件中,就会出现报错WARNING: inbound connection timed out (ORA-3136)
以下为错误重现的过程:
1. 为了确保在一分钟的时间内出现这个报错,我们把参数SQLNET.INBOUND_CONNECT_TIMEOUT设置为60s(这个也是这个参数的默认值)
在服务器端的$ORACLE_HOME/network/admin/sqlnet.ora中增加:SQLNET.INBOUND_CONNECT_TIMEOUT=60
2.打开一个sqlplus会话,并且输入错误的用户名或者密码
C:\Documents and Settings\admin>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue May 25 10:50:02 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/ijfiewfj@orcl as sysdba
ERROR:
ORA-01017: 用户名/口令无效; 登录被拒绝
SQL>
此时不要对这个sqlplus会话进行任何更改,也不要退出,等待60s的时间:
3. 查看$ORACLE_BASE/admin/
可以看到,连接是在10:50发出的,在10:51分就出现了警告信息”WARNING: inbound connection timed out (ORA-3136)“
Tue May 25 10:51:11 2010
WARNING: inbound connection timed out (ORA-3136)
Tue May 25 10:51:56 2010
Thread 1 advanced to log sequence 907
Current log# 2 seq# 907 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO3_1
因此,当下次在alert文件中看到这个warning时,请先和客户端的连接人员确认是否出现过以上的情况,以确认问题的原因
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786749/viewspace-663602/ ,如需转载,请注明出处,否则将追究法律责任。