在 Debian 上,lsnrctl 是 Oracle Database 的监听控制工具,不是系统自带命令。能否使用它,取决于你是否已经安装了 Oracle Database(或 Oracle Instant Client)。下面分情况说明。
which lsnrctl
/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl)✅ 已安装Oracle 依赖环境变量,否则 lsnrctl 无法运行。
su - oracle
编辑 ~/.bash_profile 或 ~/.bashrc:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
生效:
source ~/.bash_profile
lsnrctl status
lsnrctl start
lsnrctl stop
lsnrctl reload
lsnrctl: command not found✅ 解决:
ORACLE_HOME/bin 在 PATH 中oracle 用户执行TNS-12541: TNS:no listener✅ 解决:
lsnrctl start
TNS-12555: TNS:permission denied✅ 解决:
chown -R oracle:oinstall /u01/app/oracle
oracle 用户和组groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
apt install libaio1 unixodbc
如果你愿意,可以告诉我:
我可以给你更精确的配置步骤。