Oracle数据库中最“奇葩”的问题---Oracle 12541 无监听程序

1.前提简介      

       首先介绍一下,我是一个java工程师,数据库不是我的专项技术,所以下面出现的问题也许对于数据库大神来说可能不算什么,但是对于我来说下边的问题困扰了我很久很久,有一天终于被解决了。

2.问题描述

      数据连接时间特别的长,用命令来看的话"lsnrctl status”监听不存在,但是你用命令启动的时候:lsnrctl start 启动的时候服务可以启动但是就是启动的时间特别的长,有的时候还为了连接测试一直在耗时间,时间大概5-10分钟左右吧。在用命令查看的时候监听器服务无法启动,无监听。

3.解决之道

首先进入监听程序中:

lsnrctl

查看日志状态:

show log_status

如下图,set to on表示此时日志为开启状态

Oracle数据库中最“奇葩”的问题---Oracle 12541 无监听程序_第1张图片

要想关闭只需要执行:

set log_status off

然后保存设置即可:

save_config

Oracle数据库中最“奇葩”的问题---Oracle 12541 无监听程序_第2张图片

然后在进入您的目录下找到D:\Oracle\diag\tnslsnr\机器名\listener\trace\listener(我的安装路径)然后您看看这个文件有多大,假如你是32位系统我说的问题肯定会在监听日志到达4g的时候你的问题就会出现,假如你是64位机器一直跑着没问题,但是还是会存在风险。因为系统一直在变慢。

解决办法:将listener文件删除,重新在服务中启动监听就OK了,系统重新创建了一个新的listener

4.问题归纳

       在解决这个问题之前,看了很多关于无监听的博客,方法都用了但是没有解决问题,出现上述问题是日志监听文件过于大所以导致没有空间进行日志支撑。我和Oracle公司的人就这个问题交流过,这个监听日志其实没有多大用,一般他们查找问题也不会看这个,所以这个文件白白的耗掉了很多的内存。



你可能感兴趣的:(Oracle数据库中最“奇葩”的问题---Oracle 12541 无监听程序)