经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
11gr2 alert日志中报TNS-12535 TNS-00505原因及解决方法
来源:cnblogs  作者:ritchy  时间:2019/5/24 10:07:53  对本文有异议

前面新装了11GR2 RAC,某天在做巡检的时候发现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: 23-MAY-2019 10:49:06
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=172.16.100.116)(PORT=38136))
Thu May 23 10:49:19 2019
触发原因:
是由于程序异常断开导致超时,11g R1如果出现如上的错误信息会写入到sqlnet.log,11g R2会写入到alert.log,
其实出现此错误是正常的现象。

如果从深层次分析为什么出现这些错误,详细如下:
一个客户端连接整个步骤:
1、客户端发起一个connection连接监听
2、监听启动一个专属进程(服务器进程,也就是我们通常说的LOCA=NO进程)用于接收这个connection
3、在专属进程启动之后,监听会将这个connection传递给这个专属进程
4、专属进程通过这个connection来跟客户端握手
5、专属进程跟客户端信息交换需要建立一个session
6、session打开

当在以上的第3步到第4步时客户端关闭,所以当专属进程尝试跟客户端联系时发现连接已关闭时,就会报出我们看到的错误!!

如果不想让这些信息打印在alert日志中,设置如下:
在sqlnet.ora设置
DIAG_ADR_ENABLED = OFF
在listener.ora设置
DIAG_ADR_ENABLED_ = OFF
重启监听

原文链接:http://www.cnblogs.com/ritchy/p/10910964.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号