在 Debian 上(通常是安装了 Oracle 数据库客户端/服务端 后才会有 lsnrctl),查看监听状态的方法如下:
lsnrctl status
如果提示命令不存在:
-bash: lsnrctl: command not found
说明环境变量没配置,需要先用 Oracle 用户执行。
通常 Oracle 安装在 oracle 用户下:
su - oracle
然后加载环境变量(根据你的实际安装路径):
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
再执行:
lsnrctl status
如果你有多个监听器(如 LISTENER2):
lsnrctl status LISTENER2
lsnrctl start # 启动监听
lsnrctl stop # 停止监听
lsnrctl reload # 重新加载配置
lsnrctl services # 查看监听提供的服务
Debian 官方源没有 lsnrctl
它来自 Oracle Database 或 Oracle Client
确认是否安装了 Oracle:
which lsnrctl
ls $ORACLE_HOME/bin/lsnrctl
$ORACLE_HOME/network/admin/listener.ora
可以用系统命令代替:
ss -lntp | grep 1521
# 或
netstat -lntp | grep 1521
如果你愿意,可以告诉我:
我可以更具体地帮你。