记一次ORACLE的离奇故障,ORACLE bug导致数据库连接时断时通
故障表现:
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博客