在 Debian 上,lsnrctl 是 Oracle Database(通常是 Oracle 软件所有者,如 oracle 用户)的一部分,它不是 Debian 自带命令。找 lsnrctl 日志的本质,是找 Oracle Listener 的日志文件。
下面按常见情况说明。
which lsnrctl
或
su - oracle
which lsnrctl
通常在:
$ORACLE_HOME/bin/lsnrctl
lsnrctl status
或
lsnrctl show log_file
lsnrctl show log_directory
示例输出:
Log messages written to /u01/app/oracle/diag/tnslsnr/host/listener/alert/log.xml
$ORACLE_BASE/diag/tnslsnr/<hostname>/<listener_name>/
例如:
/u01/app/oracle/diag/tnslsnr/dbserver/listener/
关键文件:
alert/log.xml ← 主要 listener 日志trace/listener.log ← 详细 tracesqlnet.log查看:
less /u01/app/oracle/diag/tnslsnr/dbserver/listener/alert/log.xml
$ORACLE_HOME/network/log/listener.log
例如:
/u01/app/oracle/product/10.2.0/db/network/log/listener.log
su - oracle
env | grep ORACLE
重点看:
ORACLE_HOME
ORACLE_BASE
tail -f /u01/app/oracle/diag/tnslsnr/dbserver/listener/trace/listener.log
或 XML:
tail -f /u01/app/oracle/diag/tnslsnr/dbserver/listener/alert/log.xml
lsnrctl status
lsnrctl 不是系统命令oracle 用户dpkg -l | grep oracle
Debian 官方仓库没有 Oracle如果你愿意,可以贴一下:
lsnrctl status 输出echo $ORACLE_HOME我可以直接帮你定位到确切日志路径。