plsql链接服务器无响应,sqlplus 连接数据库无响应

本文详细记录了解决Oracle 10g数据库因主机运行时间达到特定周期导致sqlplus连接无响应的问题。通过分析,确定是由于系统bug造成CPU死循环,耗尽资源。解决方案包括重启、打补丁或升级数据库版本,最终选择了打补丁4612267,并提供了详细的安装、验证和移除补丁的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一批三台安装服务器,先后出现了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

我采取的是第三种方法,打补丁包的方式。而且据oracle官方文档说明,oracle11已经修复该问题。

下面是pache 4612267补丁包的安装及验证方法:

先停监听、dbconsole和数据库

$ lsnrctl stop

$ emctl stop dbconsole

$ sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值