lsnrctl 是 Oracle 数据库监听程序(Listener) 的管理工具,本身不是“配置”工具,而是用来启动 / 停止 / 查看监听器的。真正的“配置”是在 listener.ora 文件里完成的。
下面从「配置文件位置 → 常见配置示例 → 使用 lsnrctl 管理」给你一个完整说明。
一般在:
$ORACLE_HOME/network/admin/listener.ora
查看当前 ORACLE_HOME:
echo $ORACLE_HOME
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
)
)
说明:
LISTENER:监听名称(默认就是 LISTENER)HOST:服务器 IP 或主机名PORT:默认 1521SID_NAME:数据库实例名GLOBAL_DBNAME:服务名(用于远程连接)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
)
)
数据库注册方式:
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=dbserver)(PORT=1521))';
ALTER SYSTEM REGISTER;
lsnrctl start
lsnrctl stop
lsnrctl status
lsnrctl reload
lsnrctl start LISTENER2
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
ALTER SYSTEM REGISTER;
netstat -tunlp | grep 1521
listener.oralsnrctl startlsnrctl statusALTER SYSTEM REGISTER如果你告诉我:
我可以直接给你 一份可直接用的 listener.ora。