在 Debian 上配置 lsnrctl(Oracle Listener 控制工具),本质上是安装并配置 Oracle 数据库监听程序(Listener)。lsnrctl 不是 Debian 自带软件,而是 Oracle Database 的一部分。
下面分情况说明。
lsnrctl 来源:
✅ 常见场景:
which lsnrctl
如果返回路径(如):
/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl
说明已安装。
如果没有:
lsnrctl: command not found
需要先安装 Oracle Database。
编辑用户环境变量(通常是 oracle 用户):
vi ~/.bashrc
添加(示例):
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
生效:
source ~/.bashrc
监听配置文件位置:
$ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
(SID_NAME = orcl)
)
)
如果是 12c+ 多租户,注意
SERVICE_NAME和PDB
lsnrctl start
lsnrctl status
lsnrctl stop
lsnrctl reload
✅ 解决:
source ~/.bashrc
检查:
lsnrctl status
确认:
ss -lntp | grep 1521
放行端口:
iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
Oracle 官方不支持 Debian,但可“兼容运行”:
✅ 推荐方案:
| 步骤 | 说明 |
|---|---|
| 安装 Oracle | 必须 |
| 配置环境变量 | ORACLE_HOME / PATH |
| 编辑 listener.ora | 定义监听 |
| lsnrctl start | 启动监听 |
| lsnrctl status | 验证 |
如果你愿意,可以告诉我:
我可以给你完全针对你环境的配置示例。