lsnrctl 是 Oracle Database 的监听器管理工具,不是 Debian 自带的软件,也不会通过 apt 直接安装。它随 Oracle Database 软件 一起提供,而不是单独存在的包。
下面分情况说明如何在 Debian 上获得 lsnrctl。
lsnrctllsnrctl 这个包lsnrctl 的正确方式lsnrctl 包含在 Oracle Database Server 中。
下载 Oracle Database
LINUX.X64_193000_db_home.zip安装依赖
sudo apt update
sudo apt install -y \
binutils \
gcc \
make \
libaio1 \
libaio-dev \
libelf-dev \
libnsl2 \
libstdc++6
创建 Oracle 用户
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -m -g oinstall -G dba oracle
sudo passwd oracle
解压并安装 Oracle
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1
配置环境变量(oracle 用户)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
运行安装程序
./runInstaller
安装完成后即可使用
lsnrctl status
lsnrctl start
Oracle Instant Client 默认不包含 lsnrctl。
只有 Oracle Database 完整安装 才包含监听器管理工具。
如果你只是连接数据库,而不是管理监听,可以使用:
sudo apt install alien
然后安装 Oracle Instant Client RPM(用 alien 转换):
sudo alien -i oracle-instantclient*.rpm
但 ⚠️ 不会有 lsnrctl。
| 问题 | 说明 |
|---|---|
apt install lsnrctl |
❌ 不存在 |
| Debian 自带 lsnrctl | ❌ 不是系统工具 |
| Docker 里能用吗 | ✅ 可用 Oracle 官方镜像 |
| PostgreSQL 有类似工具吗 | ✅ pg_ctl,但不是 lsnrctl |
which lsnrctl
或
lsnrctl status
如果提示:
command not found
说明 Oracle 没有安装或未配置环境变量。
你可以告诉我:
cat /etc/debian_version)我可以给你 一步一步的详细安装方案(含参数) ✅