记一次ORACLE的离奇故障,ORACLE bug导致数据库连接时断时通

发布时间 2023-10-08 19:21:29作者: dirgo

故障表现:

Windows server平台下

Java应用程序和plsql developer客户端都无法连接数据库

plsql developer 报错 ora-12541

sqlplus报错 ora-12560

用 lsnrctl status 查看监听 则一直显示正在连接...

处理过程:

首先排除网络问题,因为是localhost连接的

开始想是监听配置问题吧,然后一通修改,改监听配置文件,因为牵扯到developer使用32位客户端问题,还改过 系统变量, 结果没有任何作用.

后来想不会是 监听程序 .exe坏了吧,替换了一下,结果还是无效

再想是不是 其他程序或者服务冲突,停用了 除 数据库实例 和监听以外的服务

然后 命令行 使用 lsnrctl status 查看监听状态,刚开始不通,过了一会儿突然通了

本以为到此为止,是 服务 冲突,结果过了一会儿又不通了,然后再过一会儿又通

这明显不是冲突或者配置问题

于是 搜索一番 终于找到原因,

原因:

原来是 ORACLE 的bug,真坑

当它的监听日志文件大于 4G 时,就会出现这种故障

解决:

先停止 监听服务

日志文件路径

你的安装目录,如:C:\app\Administrator\diag\tnslsnr\你的主机名\listener\trace\listener.log

将此文件重命名 如listener11111.bak

然后启动监听服务即可

参考文章:

Oracle数据库1521端口时断时续/TNS超时/服务器无响应排错(TNS-12541/TNS-12560/TNS-00511/TNS-12535)_服务器1521端口不通原因-CSDN博客