在 Linux 下,lsnrctl 本身不直接“查日志”,它主要用于管理 Oracle 监听器(Listener)。要看监听器相关的日志,一般有两种方式:
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
tail -f $ORACLE_HOME/network/log/listener.log
或:
cat $ORACLE_HOME/network/log/listener.log
路径一般在:
$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
进入后:
show homes
set home <listener_home>
show alert -tail 100
# 查看监听器状态
lsnrctl status
# 查看监听器服务
lsnrctl services
# 重新加载监听器
lsnrctl reload
lsnrctl → 看状态、找日志路径listener.log 或 log.xmladrci 查 XML 日志如果你愿意,可以告诉我 Oracle 版本 和 Linux 发行版,我可以给你更精确的路径和命令。