温馨提示×

linux lsnrctl怎样查日志

小樊
56
2026-10-07 23:50:18
栏目: 智能运维

在 Linux 下,lsnrctl 本身不直接“查日志”,它主要用于管理 Oracle 监听器(Listener)。要看监听器相关的日志,一般有两种方式:


一、通过 lsnrctl 查看日志路径

lsnrctl status

或指定监听器名:

lsnrctl status LISTENER

在输出中找类似:

Listener Log File   /u01/app/oracle/diag/tnslsnr/hostname/listener/alert/log.xml

或者老版本:

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

二、直接查看监听器日志文件

1️⃣ 传统文本日志(11g 及以前常见)

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

或:

cat $ORACLE_HOME/network/log/listener.log

2️⃣ 11g/12c/19c 的 XML 日志(ADR)

路径一般在:

$ORACLE_BASE/diag/tnslsnr/<hostname>/<listener_name>/alert/log.xml

查看方式:

tail -f $ORACLE_BASE/diag/tnslsnr/hostname/listener/alert/log.xml

或转成可读格式:

adrci

# 在 adrci 中
show alert -tail

三、用 adrci 查监听器日志(推荐)

adrci

进入后:

show homes
set home <listener_home>
show alert -tail 100

四、常用排查命令

# 查看监听器状态
lsnrctl status

# 查看监听器服务
lsnrctl services

# 重新加载监听器
lsnrctl reload

总结

  • lsnrctl → 看状态、找日志路径
  • 日志文件 → listener.log 或 log.xml
  • 推荐 → adrci 查 XML 日志

如果你愿意,可以告诉我 Oracle 版本 和 Linux 发行版,我可以给你更精确的路径和命令。

0 踩