在 Debian 上,lsnrctl 是 Oracle Database 的监听控制工具,用于管理 Oracle Listener。下面按最常见场景一步一步说明如何添加/配置监听。
lsnrctl 可执行文件在 PATH 中$ORACLE_HOME/bin/lsnrctl
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
listener.ora(最常用)vi $ORACLE_HOME/network/admin/listener.ora
LISTENER_NEW 的监听LISTENER_NEW =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1522))
)
)
✅ 说明
LISTENER_NEW:监听名称,可自定义HOST:服务器 IP 或主机名PORT:监听端口(如 1521、1522)lsnrctl start LISTENER_NEW
查看状态:
lsnrctl status LISTENER_NEW
netca(图形界面)如果你有桌面环境或 X11:
netca
步骤:
SID_LIST_LISTENER_NEW =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
(SID_NAME = orcl)
)
)
在数据库内执行:
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1522))';
ALTER SYSTEM REGISTER;
lsnrctl 命令lsnrctl start
lsnrctl stop
lsnrctl status
lsnrctl reload
lsnrctl services
TNS-12542: TNS:address already in use
✅ 端口被占用
netstat -tunlp | grep 1521
show parameter local_listener;
确保:
sudo ufw allow 1521/tcp
✅ 添加监听的核心步骤:
listener.oralsnrctl start <监听名>如果你愿意,可以告诉我:
我可以给你一份完全贴合你环境的配置示例。