日志报警:
$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 (80 msec)
OK (70 msec)
OK (70 msec)
OK (60 msec)
OK (47820 msec)
OK (70 msec)
....
同时 PING IP 的结果并没有出现延时,机器之前并未设置防火墙等,可以排除网络和防火墙问题。
在连续 TNSPING 的情况下,出现明显链接延时,怀疑是监听器的问题。
 
 
解决办法:
注释掉 /etc/resolve.conf 配置文件中对 DNS 的解析解决
[oracle@vcdog log]$ cat /etc/resolv.conf
#nameserver 202.106.0.20