在 Debian 上,lsnrctl 是 Oracle Database 的监听控制工具,不是系统自带命令。查看 lsnrctl 状态可以按下面步骤来:
lsnrctl 通常位于 Oracle 的安装目录中,例如:
$ORACLE_HOME/bin/lsnrctl
先确认环境变量:
echo $ORACLE_HOME
如果没有输出,说明环境变量未设置。
一般 Oracle 安装在 oracle 用户下:
su - oracle
lsnrctl status
正常输出示例:
LSNRCTL for Linux: Version 19.0.0.0.0
...
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux
Start Date 01-OCT-2024
Uptime 2 days 3 hr
...
lsnrctl status LISTENER_NAME
lsnrctl: command not foundfind /u01 /opt /home -name lsnrctl 2>/dev/null
常见路径:
/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl
/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl status
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
lsnrctl start
停止监听:
lsnrctl stop
oracle 用户下ORACLE_HOME 是否正确listener.ora 是否存在如果你愿意,可以把下面信息发给我,我可以更精确帮你判断:
lsnrctl status 的完整报错echo $ORACLE_HOMEuname -a