lsnrctl 是 Oracle Database 的监听管理工具,并不是 Debian 自带的命令。
在 Debian 上出现 lsnrctl: command not found 或运行报错,通常原因如下:
which lsnrctl
echo $ORACLE_HOME
如果都为空,说明没配置或没安装。
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
路径要根据你的实际安装目录修改
lsnrctl status
通常是:
listener.ora 不存在或配置错误ORACLE_HOME 不对$ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
lsnrctl start
Permission denied
su - oracle
lsnrctl status
不要直接用 root
Oracle 需要一些 32 位库:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libaio1 unixodbc
如果你能贴出完整报错信息(例如):
lsnrctl: command not foundTNS-12541TNS-12555我可以给你更精确的解决方案。
你现在是哪种情况?