温馨提示×

lsnrctl日志怎么查看

小樊
42
2026-10-16 18:09:48
栏目: 编程语言

lsnrctl 是 Oracle 监听(Listener)的管理工具,它本身不直接产生日志文件,但它管理的 Listener 日志 是可以查看的。下面按常见场景说明。


一、查看 Listener 日志文件(最常用)

1️⃣ 找到日志位置

通常位于:

$ORACLE_HOME/network/log/listener.log

例如:

/u01/app/oracle/product/19.0.0/dbhome_1/network/log/listener.log

如果你有多个监听,可能是:

listener.log
listener_scan1.log

2️⃣ 查看日志

tail -f $ORACLE_HOME/network/log/listener.log

或

less $ORACLE_HOME/network/log/listener.log

二、通过 lsnrctl 查看日志状态

1️⃣ 进入 lsnrctl

lsnrctl

2️⃣ 查看监听状态(含日志路径)

LSNRCTL> status

示例输出中会有:

Listener Log File   /u01/app/oracle/network/log/listener.log

三、查看当前日志写入是否开启

LSNRCTL> show log_status

关闭日志:

LSNRCTL> set log_status off

开启日志:

LSNRCTL> set log_status on

四、修改日志路径(可选)

LSNRCTL> set log_directory /u01/log
LSNRCTL> set log_file listener.log

或修改 listener.ora:

LOG_DIRECTORY_LISTENER = /u01/log
LOG_FILE_LISTENER = listener.log

五、常见排查场景

  • 连接失败:看 TNS- 或 ORA- 错误
  • 连接闪断:看 service_update / establish / refuse
  • 监听起不来:结合 lsnrctl start 的输出 + 日志

如果你愿意,可以告诉我:

  • Oracle 版本
  • 操作系统(Linux / AIX / Windows)
  • 具体想查什么问题(起不来 / 连不上 / 报错)

我可以给你更精确的命令。

0 踩