0x01 起因

业务部门反馈下午出现psql连接oracale连接不上报TNS-12541:TNS:nolistener错误,但是业务是正常的,于是晚上0点重启服务器,连接还是报同样的错误,业务系统也出现异常;BOSS一点钟给我打电话,必须马上处理,这几天业务系统访问人数比较大。

0x02 查找原因

查看Oracale的各种服务都是正常启动,使用lsnrctl status查看tNS的状态出现报错;于是马上利用搜索引擎搜索相关的问题;搜索的结果大多数都是说配置文件的异常、还要修改注册表,配置文件的问题应该是数据库安装后就会出现的问题,不会正常使用一段时间,在没有修改任何配置的情况下突然出现;经过多方搜索发现listener.log日志文件的问题,个人分析可能是这个原因。

0x03 处理过程

  1. 找到listener.log

路径Oracle\diag\tnslsnr\主机名\listener\trace

  1. 确定文件大小

果然listener.log已有4G

  1. 停用TNS服务

将listener.log修改为其他名称,或者移动到其他地方,然后新建一个listener.log并给写入权限

  1. 启用TNS服务

业务恢复正常,就是listener.log文件超过4G 导致出现故障