在 Debian 上,lsnrctl 是 Oracle Database Listener(监听器)的管理工具,通常随 Oracle 数据库软件一起安装。下面是如何在 Debian 上启动监听器的步骤。
ORACLE_HOME 已正确设置oraclesu - oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
⚠️ 路径请根据实际安装目录修改
lsnrctl start
如果监听器名称不是默认的 LISTENER:
lsnrctl start LISTENER_NAME
lsnrctl status
输出中看到类似:
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux
说明启动成功。
-bash: lsnrctl: command not found
解决:
source ~/.bash_profile
# 或手动设置 ORACLE_HOME 和 PATH
可手动创建:
$ORACLE_HOME/network/admin/listener.ora
示例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
然后:
lsnrctl start
Debian 不默认使用 Oracle 自启脚本,可:
systemd 自定义服务/etc/rc.local 中加:su - oracle -c "lsnrctl start"
如果你愿意,可以告诉我:
我可以帮你更具体地排查。