在 Debian 上,lsnrctl 是 Oracle Database 的监听控制工具,不是系统自带命令。检查它是否存在、是否可用,可以按下面步骤来。
lsnrctl 是否已安装lsnrctl
LSNRCTL for Linux: Version 19.0.0.0.0
说明已安装且可用。command not found
说明未安装或 环境变量未配置。lsnrctl 是否存在find / -name lsnrctl 2>/dev/null
常见路径:
/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl
which lsnrctl
whereis lsnrctl
如果找不到,说明 Oracle 可能没装,或没加入 PATH。
lsnrctl 依赖 Oracle 环境变量。
echo $ORACLE_HOME
正常应类似:
/u01/app/oracle/product/19.0.0/dbhome_1
echo $PATH
应包含:
$ORACLE_HOME/bin
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
然后测试:
lsnrctl status
lsnrctl status
常见输出:
Listening Endpoints Summary...
Services Summary...
TNS-12541: TNS:no listener
Debian 默认不包含 Oracle,需手动安装。
检查 Oracle 用户:
id oracle
检查安装目录:
ls /u01/app/oracle
| 问题 | 原因 |
|---|---|
lsnrctl: command not found |
Oracle 未安装或 PATH 未配置 |
TNS-12541 |
监听器未启动 |
ORACLE_HOME not set |
环境变量未配置 |
| Debian 找不到命令 | Oracle 非系统自带 |
你可以直接贴出以下信息:
echo $ORACLE_HOME
echo $PATH
lsnrctl status