TNS-12535: TNS:operation timed out TNS-00505: Operation timed out
2015-11-18 15:56
190 查看
TNS-12535 TNS-00505 经常出现很多这种报错
Problem Description
---------------------------------------------------
查看alert警告日志,经常发现很多如下报错
Mon Nov 09 18:40:11 2015
***********************************************************************
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: 09-NOV-2015 18:40:11
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.0.105.11)(PORT=60866))
问题解决:
如下文档解释了这个错误
Fatal NI Connect Error 12170, 'TNS-12535: TNS:operation timed out' Reported in 11g Alert Log ( Doc
ID 1286376.1 )
Alert Log Errors: 12170 TNS-12535/TNS-00505: Operation Timed Out ( Doc
ID 1628949.1 )
基本上这是一个告知性的消息。它的意思是说
The messages indicate the specified client connection (identified by the 'Client address:' details) has experienced a time out.
通常是由于客户端发起的连接没有经过正常的流程结束引起的。一个常见的场景是,从客户端连接数据库,比如通过plsql工具,连上之后,很久没有操作,
然后网络防火墙发现了这个空闲的连接超过了设置的允许时间,于是中断了它。数据库端就会记这个错误。比较糟糕的一种情况是,发起一个非常长时间的查询,
数据库由于要运行很久才会给客户端发送回复,结果超过了防火墙允许的时间,于是被中断了。
所以关键在于您的应用方面是否有异常,如果应用方面正常,那么也可以不必管它。
一个常用的解决方式是在$ORACLE_HOME/network/admin下的sqlnet.ora文件中设置
SQLNET.EXPIRE_TIME=n Where <n> is a non-zero value set in minutes.
比如
SQLNET.EXPIRE_TIME=3
设置这个参数后,Oracle服务器会每隔n分钟向所有的客户端连接发送一个非常小的侦测包,大约10byte,这个侦测包本身构成了连接上的活跃通讯,从而避免防火墙认为这个连接是空闲的。
如果设置了这个参数,仍然有错误,而且非常频繁的话,那么可以考虑检查一下报错的客户端地址,看该客户端上有什么应用会导致这个异常?
Problem Description
---------------------------------------------------
查看alert警告日志,经常发现很多如下报错
Mon Nov 09 18:40:11 2015
***********************************************************************
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: 09-NOV-2015 18:40:11
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.0.105.11)(PORT=60866))
问题解决:
如下文档解释了这个错误
Fatal NI Connect Error 12170, 'TNS-12535: TNS:operation timed out' Reported in 11g Alert Log ( Doc
ID 1286376.1 )
Alert Log Errors: 12170 TNS-12535/TNS-00505: Operation Timed Out ( Doc
ID 1628949.1 )
基本上这是一个告知性的消息。它的意思是说
The messages indicate the specified client connection (identified by the 'Client address:' details) has experienced a time out.
通常是由于客户端发起的连接没有经过正常的流程结束引起的。一个常见的场景是,从客户端连接数据库,比如通过plsql工具,连上之后,很久没有操作,
然后网络防火墙发现了这个空闲的连接超过了设置的允许时间,于是中断了它。数据库端就会记这个错误。比较糟糕的一种情况是,发起一个非常长时间的查询,
数据库由于要运行很久才会给客户端发送回复,结果超过了防火墙允许的时间,于是被中断了。
所以关键在于您的应用方面是否有异常,如果应用方面正常,那么也可以不必管它。
一个常用的解决方式是在$ORACLE_HOME/network/admin下的sqlnet.ora文件中设置
SQLNET.EXPIRE_TIME=n Where <n> is a non-zero value set in minutes.
比如
SQLNET.EXPIRE_TIME=3
设置这个参数后,Oracle服务器会每隔n分钟向所有的客户端连接发送一个非常小的侦测包,大约10byte,这个侦测包本身构成了连接上的活跃通讯,从而避免防火墙认为这个连接是空闲的。
如果设置了这个参数,仍然有错误,而且非常频繁的话,那么可以考虑检查一下报错的客户端地址,看该客户端上有什么应用会导致这个异常?
相关文章推荐
- Nginx安装配置与部署
- tomcat源码系列(一)--组合项目导入ide
- source, ~/.bashrc, ~/.bash_profile详解
- 安装vnc远程连接CentOS桌面
- freopen ()
- hadoop基础学习1
- robot operating system概述
- Shell脚本升级CentOS php版本v
- hadoop学习笔记之-hbase完全分布模式安装-5
- CentOS7下openstack的liberty模板分享
- Docker(七):仓库
- Linux文件写入的工作原理
- linux内核编译测试环境搭建详解
- Several ports (8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.
- vs2013中fopen报错
- 实例详解Linxu中df命令
- Diving into OpenStack Network Architecture - Part 4 - Connecting to Public Network
- CentOS 7 中firewall-cmd命令
- 将nginx编译成静态库
- 1.NSThread 2.Cocoa NSOperation 3.GCD(Grand Central Dispatch)