在 Linux 上配置和使用 lsnrctl(Oracle Listener Control)主要涉及 Oracle 数据库监听器的配置。下面按常见场景给你一个清晰、可操作的指南。
lsnrctl 是 Oracle 提供的命令行工具,用于:
listener.ora⚠️ 注意:lsnrctl 不是 Linux 自带工具,而是 Oracle Database 安装的一部分。
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH
可用
which lsnrctl验证是否能找到命令
监听器配置文件通常位于:
$ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
lsnrctl start
lsnrctl stop
lsnrctl status
输出中关注:
在 init.ora 或 spfile 中:
local_listener='LISTENER'
然后:
ALTER SYSTEM REGISTER;
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
(SID_NAME = orcl)
)
)
修改后重启监听:
lsnrctl stop
lsnrctl start
listener.oratnsnames.ora 同步修改lsnrctl start LISTENER2
PATHALTER SYSTEM REGISTER;
ORACLE_HOME/bin/lsnrctl start
listener.ora如果你愿意,可以告诉我:
我可以给你更精确的配置示例。