温馨提示×

debian里lsnrctl怎么删

小樊
38
2026-10-12 11:40:25
栏目: 智能运维

在 Debian 里,lsnrctl 是 Oracle Database(Listener Control) 的工具,本身不是 Debian 软件包可以直接“卸载”的命令,它通常是随 Oracle 数据库或 Oracle Instant Client 安装的。

所以“怎么删 lsnrctl”要分情况看:


一、只是想“不用 / 停用” lsnrctl(最常见)

1. 停止监听

lsnrctl stop

2. 禁止开机启动(如果有)

如果是 Oracle 自带方式:

# 查看是否配置了开机启动
systemctl list-unit-files | grep oracle

禁用:

systemctl disable oracle-listener

(具体服务名可能不同)


二、彻底删除 lsnrctl(删除 Oracle 监听组件)

情况 1:你装的是 完整 Oracle Database

lsnrctl 不能单独删,只能:

  • 停止监听
  • 卸载整个 Oracle 软件(用 runInstaller -deinstall)
$ORACLE_HOME/oui/bin/runInstaller -deinstall

⚠️ 这会连数据库一起删


情况 2:你装的是 Oracle Instant Client

Instant Client 默认不带 lsnrctl
如果你有 lsnrctl,一般是:

  • 额外装了 oracle-instantclient-*-tools
  • 或混装了完整 Oracle

查看:

which lsnrctl

如果是 apt 装的:

dpkg -l | grep oracle

卸载:

sudo apt remove oracle-instantclient*

三、只是想“命令找不到 / 隐藏”

如果只想让系统找不到:

sudo rm $(which lsnrctl)

或

sudo mv $(which lsnrctl) /tmp/

⚠️ 不推荐,容易出残余问题


四、快速判断你属于哪种

which lsnrctl
echo $ORACLE_HOME
  • 有 ORACLE_HOME → 完整 Oracle
  • 没有 → Instant Client 或手动拷贝

如果你愿意,可以贴一下:

which lsnrctl
ls -l $(which lsnrctl)

我可以直接告诉你最安全的删法。

0 踩