lsnrctl 是 Oracle 数据库监听器(Listener) 的管理工具,本身不是一个“服务”,而是通过 listener.ora 配置文件来定义的。下面从 配置步骤、常用命令、示例 三个方面说明。
通常在:
$ORACLE_HOME/network/admin/listener.ora
如果没有,可以手动创建。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
(SID_NAME = orcl)
)
)
说明:
LISTENER:监听器名称(默认就是 LISTENER)HOST:服务器 IP 或主机名PORT:监听端口(默认 1521)SID_NAME:数据库实例名GLOBAL_DBNAME:对外服务名# 进入 lsnrctl
lsnrctl
# 启动监听
lsnrctl start
# 停止监听
lsnrctl stop
# 查看状态
lsnrctl status
# 重新加载配置(不中断连接)
lsnrctl reload
客户端通常需要:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
监听起不来
netstat -tunlp | grep 1521
status 显示 no services
防火墙
firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload
如果你愿意,可以告诉我:
我可以给你一份更精确的配置。