代码改变世界

[Oracle报错]TNS-12535: TNS:operation timed out、TNS-00505: Operation timed out

2018-06-04 10:37  TankDBA  阅读(960)  评论(0编辑  收藏  举报

Oracle 11.2.0.4 x64

OS CentOS 6.6 x64

 

问题描述:

alert日志出现网络错误如下

***********************************************************************

Fatal NI connect error 12170.

  VERSION INFORMATION:
    TNS for Linux: Version 11.2.0.4.0 - Production
    Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
    TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
  Time: 29-MAY-2018 12:03:36
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535
    
TNS-12535: TNS:operation timed out
    ns secondary err code: 12560
    nt main err code: 505
    
TNS-00505: Operation timed out
    nt secondary err code: 110
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.68.196.88)(PORT=62731))
Tue May 29 12:03:45 2018


***********************************************************************

 

问题原因:

1、Client在default 60秒内没有完成认证

2、网络攻击,例如:半开连接攻击

3、DB负载太高

 

解决方案:

①sqlnet.ora文件加入SQLNET.INBOUND_CONNECT_TIMEOUT=0

  To specify the time, in seconds, for a client to connect with the database server and provide the necessary authentication information.

  Default 60 seconds(11.2)

②listener.ora文件加入INBOUND_CONNECT_TIMEOUT_listener_name=0

  To specify the time, in seconds, for the client to complete its connect request to the listener after the network connection had been established.

  Default 60 seconds(11.2)

③重载监听lsnrctl reload

 

 

 

参考文档:

    https://www.cnblogs.com/Richardzhu/articles/2836466.html

    https://docs.oracle.com/cd/E11882_01/network.112/e10835/sqlnet.htm#NETRF210  搜索SQLNET.INBOUND_CONNECT_TIMEOUT

    https://docs.oracle.com/cd/E11882_01/network.112/e10835/listener.htm#NETRF312 搜索INBOUND_CONNECT_TIMEOUT_listener_name

 

-The End-

 
Tank
20180604