在 Debian(以及大多数 Linux 发行版)上,lsnrctl 是 Oracle Database Listener 的管理工具。要“停止”它,通常是指 停止 Oracle 监听器(Listener)。
下面按常见情况说明。
先确认 Oracle 环境变量是否已设置:
which lsnrctl
如果找不到,说明环境变量未配置,需要先加载 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
lsnrctl stop
如果你有多个监听器(非默认 LISTENER):
lsnrctl stop LISTENER_NAME
lsnrctl status
如果成功停止,通常会看到类似提示:
TNS-12541: TNS:no listener
ps -ef | grep tnslsnr
kill -9 <PID>
或:
pkill -9 tnslsnr
⚠️ 不建议直接 kill,可能导致 Oracle 异常
如果你不希望监听器随系统启动:
systemctl disable oracle-listener
(取决于你是否配置了 systemd 服务)
command not found说明:
oracle 用户ORACLE_HOME 没设置lsnrctl 不是 Debian 自带命令,而是 Oracle 软件的一部分,必须安装 Oracle Database 才有。
如果你愿意,可以告诉我:
我可以给你更精确的方案。