在装有11g数据库上启动监听,报如下错误
[oracle@m*a-*glxt*db ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 14-JUN-2024 17:46:58
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /u01/oracle/product/11.2.0.4/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /u01/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
Log messages written to /u01/oracle/diag/tnslsnr/m*a-*glxt*db/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=198.**.*.37)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 104: Connection reset by peer
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=198.**.*.37)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
复制
问题分析:
监听器似乎已成功启动,并开始监听IPC协议(用于本地连接)和TCP/IP协议(用于网络连接),其地址设置为198.**..37,端口号为1521。然而,在尝试回连自身以验证监听器状态的过程中遇到了问题。错误信息TNS-12547: TNS:lost contact、TNS-12560: TNS:protocol adapter error以及TNS-00517: Lost contact表明在监听器和试图检查其状态的过程之间发生了通信失败。这可能是由于网络问题、配置错误或监听器本身的故障造成的。
另外,错误TNS-12541: TNS:no listener和TNS-00511: No listener指出当过程试图通过TCP/IP连接时,没有找到响应于指定地址和端口的监听器。这可能意味着监听器没有正确绑定到网络接口,或者有防火墙或其他网络配置阻止了连接。*
问题排查:
1、查看listner.ora的配置
检查配置文件的配置都是没问题的,主机名,端口号都是ok的
##2、检查log.xml日志信息
/u01/oracle/diag/tnslsnr/m*a-glxtdb/listener/alert/log.xml里面没有异常的报错信息
3、检查selinux和防火墙
检查selinux和防火墙都是已经关闭的状态
4、检查hosts配置
检查hosts里面ip 和主机名都对应着,应该是没问题。
但是里面127.0.0.1 localhost没有了
关于/etc/hosts文件中缺少127.0.0.1 localhost条目的注释是相关的,因为这个条目对于本地名称解析至关重要。如果没有这个条目,系统可能无法正确识别本地机器在网络操作中,导致出现类似这里看到的问题。确保你的/etc/hosts文件中存在这一行非常重要,这样系统才能将localhost解析为正确的IP地址(IPv4下为127.0.0.1)。
问题解决
将127.0.0.1 localhost 加入hosts里面,重启监听就ok了
评论
