说明:本解决方案仅适用于由listener.log过大引起的ora-12541错误,若listener.log并不大请忽略此方案。
故障现象:明明1521端口开着的,但sqlplus一直连不上,lsnrctl start / stop 都很卡
解决方法:在确保oracle服务已启动的情况下,cmd里执行:
lsnrctl set log_status off
来关掉listener.log输出,如果无法连接,尝试反复 lsnrctl stop 和lsnrctl start 来开启数据库服务,提示成功则OK。
然后在services.msc 里面停掉oracleTSN服务(名字很长,记不清了,反正带TSN就对了)。
在 $ORACLE_BASE/diag/tnslsnr/机器名/listener/trace 目录下 找到listener.log,可以看到listener.log文件已经达到4G,无法继续写入了。所以可以将其删除(或者改名)
然后恢复tsn服务即可,如果你还希望记录listener.log日志,则再执行lsnrctl set log_status on 即可