温馨提示×

Debian lsnrctl怎么停止

小樊
42
2026-07-10 16:14:10
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)中,lsnrctlOracle Database Listener 的管理工具,不是系统自带命令,而是 Oracle 安装后提供的

要停止监听(Listener),步骤如下:


一、确认 lsnrctl 可用

先确认 lsnrctl 在你的 PATH 中:

which lsnrctl

如果找不到,通常是 Oracle 环境变量没设置,可尝试:

source /u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl

或根据你的 Oracle 安装路径设置环境变量:

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

二、停止 Oracle Listener

方法 1(推荐)

lsnrctl stop

如果监听器名称不是默认的 LISTENER,需要指定:

lsnrctl stop LISTENER_NAME

三、确认是否已停止

lsnrctl status

输出中如果看到类似内容,说明已停止:

TNS-12541: TNS:no listener

四、常见问题

1️⃣ 提示 command not found

说明:

  • Oracle 没装
  • 或环境变量没配置

解决:

su - oracle

然后执行:

lsnrctl stop

2️⃣ 权限不足

需要使用 oracle 用户,而不是 root:

su - oracle
lsnrctl stop

3️⃣ 强制停止(不推荐)

如果 lsnrctl stop 无效,可手动杀进程:

ps -ef | grep tnslsnr
kill -9 <PID>

⚠️ 不建议,可能导致资源未释放。


五、总结

✅ 标准停止方式:

su - oracle
lsnrctl stop

如果你愿意,可以告诉我:

  • Oracle 版本
  • 是否使用 RAC
  • 是否监听无法停止(卡住)

我可以帮你进一步排查。

0