在 Debian 系统中执行 lsnrctl 报错,通常是因为 lsnrctl 是 Oracle Database 的监听控制工具,并不是 Debian 自带命令。常见原因和排查方法如下:
lsnrctl 未安装 / 找不到命令报错类似:
-bash: lsnrctl: command not found
✅ 原因
✅ 解决
确认是否安装 Oracle:
which lsnrctl
ls $ORACLE_HOME/bin/lsnrctl
若没有,需安装:
ORACLE_HOME 未设置报错类似:
ORACLE_HOME not set
✅ 解决:
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
可写入:
~/.bashrc
✅ 解决:
su - oracle
再执行:
lsnrctl status
报错:
TNS-12541: TNS:no listener
✅ 启动监听:
lsnrctl start
常见路径:
$ORACLE_HOME/network/admin/listener.ora
检查:
Oracle 官方支持:
在 Debian 上:
libaio, gcc, make 等安装依赖示例:
apt install libaio1 unixodbc bc
whoami
echo $ORACLE_HOME
which lsnrctl
lsnrctl status
如果你能贴出具体的报错信息(完整一行),我可以更精准判断是哪种原因。