oracle11g tns-12535 tns-00505,11gr2 alert日志中报TNS-12535 TNS-00505原因及解决方法

前面新装了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

重启监听

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值