lsnrctl 是 Oracle Database 的一个工具,用于管理 Oracle 监听器(Listener),不是 Debian 自带软件,因此 不能通过 apt 直接安装。
下面按常见情况说明如何在 Debian 上获得 lsnrctl。
lsnrctl 只随 Oracle Database(或 Oracle Instant Client)提供,如果你只是想“查看端口监听”,不一定需要它。
可以用系统自带工具:
ss -lntp
# 或
netstat -lntp
lsnrctl 的正确方式适用于:你要运行 Oracle 数据库。
# 安装依赖
sudo apt update
sudo apt install -y \
binutils \
gcc \
make \
libaio1 \
libnsl2 \
libstdc++6
创建 Oracle 用户:
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -m -g oinstall -G dba oracle
sudo passwd oracle
然后:
runInstallerlsnrctl 会出现在:$ORACLE_HOME/bin/lsnrctl
使用前:
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
验证:
lsnrctl status
⚠️ 注意:
Oracle Instant Client 不包含 lsnrctl
它只能用于连接数据库,不能管理监听器。
如果你只是连接数据库,可以装:
sudo apt install alien
# 下载 oracle-instantclient*.rpm
sudo alien -i oracle-instantclient*.rpm
但 不会有 lsnrctl。
如果你只是测试或开发:
docker run -d \
--name oracle \
-p 1521:1521 \
container-registry.oracle.com/database/enterprise:19.3.0
进入容器:
docker exec -it oracle bash
su - oracle
lsnrctl status
apt install lsnrctlE: Unable to locate package lsnrctl
✅ 正常,因为 Debian 仓库中没有这个命令。
| 目的 | 是否可用 lsnrctl | 建议 |
|---|---|---|
| 查看端口 | ❌ | 用 ss / netstat |
| 管理 Oracle 监听器 | ✅ | 安装 Oracle Database |
| 连接 Oracle 数据库 | ❌ | 用 Instant Client |
| 快速测试 | ✅ | Docker |
如果你愿意,可以告诉我:
我可以给你 一步一步的详细安装方案。