在 Debian 上,lsnrctl 是 Oracle Database Listener 的管理工具。所谓“远程使用 lsnrctl”,通常有两种含义,下面分别说明。
lsnrctl 本身不支持直接远程连接管理 listener,它只能在 listener 所在的服务器本地 执行。
如果你的目标是“在另一台机器上控制 listener”,常见做法有:
在客户端机器上:
ssh oracle@db-server "lsnrctl status"
ssh oracle@db-server "lsnrctl stop"
ssh oracle@db-server "lsnrctl start"
✅ 安全
✅ 简单
✅ 官方推荐方式
如果你是问:
“如何让远程应用/客户端通过 listener 连接数据库”
那是 listener.ora 的配置问题。
路径通常在:
$ORACLE_HOME/network/admin/listener.ora
示例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
0.0.0.0 表示监听所有网卡192.168.1.10)sudo ufw allow 1521/tcp
lsnrctl stop
lsnrctl start
tnsping dbhost:1521/ORCL
sqlplus user/pass@//dbhost:1521/ORCL
ADMIN_RESTRICTIONS 和口令机制,但已不推荐✅ 正确做法:SSH + 本地 lsnrctl
netstat -tunlp | grep 1521
如果看到:
127.0.0.1:1521
说明只能本机连接。
如果你能具体说明:
我可以给你更精确的配置示例。