一批三台安装服务器,先后出现了sqlplus / 连接数据库无响应问题。
1
因为几乎同一时间出现问题,起初怀疑是网络组对网络有整体调整。后经过确认网络组有调整,但不影响我们的服务器。
2 telnet server 1521端口正常响应
3 从终端客户plsql 连接oracle server,连接正常。
4 使用tcpdump发现与服务之间tcp的三次握手是正常成功的
无奈,google之
---------------------------------------------
事实上只要Linux
x86主机运行天数是是24.8的倍数都有可能引发该bug,因为time()函数值为null,造成无限死循环,从而耗尽cpu。
解决办法三种:
1) 重启主机;
2) 打patch set,如升级到10.2.0.4;
3) 对该bug单独打临时patch 4612267。
第一种方法没有彻底解决问题,以后照旧;第二种方法,升级时间长,且要求停库很久,当前生产环境暂不适合;
参考文档:
Doc ID: 338461.1 SQL*Plus 10.2.0.1 Hangs, When System Uptime Is
Long Period of Time
Doc ID: 4612267.8 Bug 4612267 - OCI client spins when machine
uptime >= 249 days
我采取的是第三种方法,打补丁包的方式。而且据o