lsnrctl status
lsnrctl status
# 日志文件位置通常在$ORACLE_HOME/network/log/listener.log
cat $ORACLE_HOME/network/admin/listener.ora
cat $ORACLE_HOME/network/admin/tnsnames.ora
netstat -tulnp | grep 1521 # 默认端口1521
检查监听配置文件语法
lsnrctl start
查看错误信息,通常会有明确提示
清理并重建监听
lsnrctl stop
mv listener.ora listener.ora.bak
netca # 使用网络配置助手重建监听
检查TNS配置
tnsping <服务名>
检查防火墙设置
iptables -L -n # Linux
netsh advfirewall firewall show rule name=all # Windows
清理过大日志文件
> listener.log
调整日志级别 在listener.ora中添加:
LOGGING_<listener_name>=OFF
设置监听自动重启
crontab -e
# 添加以下内容
*/5 * * * * /u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl start LISTENER
使用SCAN监听器(RAC环境)
srvctl config scan_listener
srvctl status scan_listener
启用监听跟踪(用于深度诊断)
lsnrctl trace
通过以上方法,可以解决大多数Oracle监听服务器故障问题。如遇复杂情况,建议收集完整日志信息并联系Oracle技术支持。