今天上午打开oracle,发现oracle监听状态不对,图为:

110128879.jpg

oracle监听不对,查看监听配置文件listener.ora,查看监听日志文件/opt/app/oracle/cfgtoollogs/netca/下的日志,找不到问题。

使用netca删除监听,重新建立监听,重新建立监听的时候,遇到问题:

use another port number,the information for this listener is currently in use by other software

提示端口被占用。

使用命令lsof -i:1521 发现没有程序在占用端口。

google之后发现问题:/etc/hosts下的文件配置出错,导致监听出错,无法启动,也无法创建。

把/etc/hosts中的主机名和IP地址,改成当前数据库所在主机的正确主机名和IP地址。

linux下获得主机名命令:hostname

linux下获得IP地址命令:ifconfig



监听起不来,使用lsnrctl status查看监听状态,出错

使用netca重建监听报错:

160154995.jpg



解决方法: 在/etc/hosts下面加上现在的IP地址,和主机名

删除原有的监听,重新建监听




今天碰到了另一种情况:

oracle监听同样起不来了

报错如下:

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

 TNS-00511: No listener

  Linux Error: 111: Connection refused


解决方式如下:使用root用户把/etc/hosts的文件修改成:

27.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


192.168.3.244   itsm-xiehui

~                          

然后监听就启动了