troubleshooting inbound connection timed out (ORA-3136)

来源:互联网 发布:linux 日历 编辑:程序博客网 时间:2024/04/29 19:38
接到客户反馈:
我们这边连数据库,写入短信编号的时候。出现03135的提示,能否帮忙在数据库那边设一下参数,或者有其他的解决方式。

查看了下错误号信息:
[oracle@db1 bdump]$ oerr ora 03135
03135, 00000, "connection lost contact"
// *Cause:  1) Server unexpectedly terminated or was forced to terminate.
//          2) Server timed out the connection.
// *Action: 1) Check if the server session was terminated.
//          2) Check if the timeout parameters are set properly in sqlnet.ora.
再去检查了告警日志:
oracle@db1 bdump]$ tail  alert_youdb.log
Thu May 03 17:05:13 CST 2012
WARNING: inbound connection timed out (ORA-3136)
Thu May 03 17:10:42 CST 2012
WARNING: inbound connection timed out (ORA-3136)
Thu May 03 17:12:49 CST 2012
WARNING: inbound connection timed out (ORA-3136)
Thu May 03 17:16:52 CST 2012
WARNING: inbound connection timed out (ORA-3136)
Thu May 03 17:20:41 CST 2012
WARNING: inbound connection timed out (ORA-3136)

还好,这个错误看到过类似的案例,解决办法很简单。
查了下,找到解决办法如下:
0. 在服务端sqlnet.ora文件中增加参数SQLNET.INBOUND_CONNECT_TIMEOUT
1. 在服务端listener.ora文件中增加参数INBOUND_CONNECT_TIMEOUT_<listenername>
单位均为秒,注意INBOUND_CONNECT_TIMEOUT_<listenername>参数不能大于SQLNET.INBOUND_CONNECT_TIMEOUT。
比如,我分别设置了如下:
SQLNET.INBOUND_CONNECT_TIMEOUT = 150
INBOUND_CONNECT_TIMEOUT_LISTENER = 145
这里顺便贴上几个重要的配置文件,刚才在处理的时候服务端没有这些文件,根据例子抄过来就是了:

cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/oracle/10g/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

youdb247 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.121.247)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = youdb247)
    )
  )

cat listener.ora
# listener.ora Network Configuration File: /u01/oracle/10g/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/oracle/10g/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = youdbdb2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
INBOUND_CONNECT_TIMEOUT_LISTENER = 145
 
 
cat sqlnet.ora
# sqlnet.ora Network Configuration File: /u01/oracle/10g/product/10.2.0/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)  
SQLNET.INBOUND_CONNECT_TIMEOUT = 150
-The End-