天天看点

TNS-12537: TNS:connection closed ORA-609错误处理

日志报警:

$ORACLE_BASE/diag/rdbms/jrdb/trace/alert_jrdb.log

出现这个报警的时间点正好是在12:06-12:18这段时间内,IDC生产环境,网络出现故障,造成域名解析发生错误.

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

Fatal NI connect error 12537, connecting to:

(LOCAL=NO)

VERSION INFORMATION:

TNS for Linux: Version 11.2.0.1.0 - Production

Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production

TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production

Time: 03-NOV-2011 12:17:26

Tracing not turned on.

Tns error struct:

ns main err code: 12537

TNS-12537: TNS:connection closed

ns secondary err code: 12560

nt main err code: 0

nt secondary err code: 0

nt OS err code: 0

opiodr aborting process unknown ospid (3132) as a result of ORA-609

Thu Nov 03 12:17:36 2011

检查 listener 日志确认没有异常,在部分机器 TNSPING XXX 60 等进行尝试结果正常,无链接问题

明显感觉,只要第一次 tnsping 链接正常,之后的 jdbc 链接就正常;如果第一次不正常,之后的 jdbc 链接就容易返回超时的错误。

尝试重启 lsnrctl stop/start 和重新加载配置文件 lsnrctl reload 重新注册数据库实例,仍然无法解决超时错误。

tnsping xxxx N 的时候明显观察到:

OK (56730 msec)

OK (80 msec)

OK (70 msec)

OK (60 msec)

OK (47820 msec)

....

同时 PING IP 的结果并没有出现延时,机器之前并未设置防火墙等,可以排除网络和防火墙问题。

在连续 TNSPING 的情况下,出现明显链接延时,怀疑是监听器的问题。

解决办法:

注释掉 /etc/resolve.conf 配置文件中对 DNS 的解析解决

[oracle@vcdog log]$ cat /etc/resolv.conf 

#nameserver 202.106.0.20

     本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/837494,如需转载请自行联系原作者