作者:浆果范_163 | 来源:互联网 | 2024-12-08 15:25
本文将详细介绍如何配置Oracle监听器,涵盖静态监听器和动态监听器的设置。
静态监听器配置使用默认端口1521,而动态监听器则需要配置到非默认端口。
相关配置信息可以在Oracle 10g的NET服务参考文档中找到,具体位于Net Services Reference
部分。
sqlnet.ora
文件中包含了tnsnames.ora
和listener.ora
的配置。
静态监听器配置示例:
LISTENER=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=yourdbname)
(ORACLE_HOME=/path/to/oracle/home)
(SID_NAME=yourdbname))
(SID_DESC=
(SID_NAME=plsextproc)
(ORACLE_HOME=/path/to/oracle/home)
(PROGRAM=extproc)))
在上述配置中,建议使用主机名而非IP地址,以避免因IP变化导致的问题。同时,需确保GLOBAL_DBNAME
和ORACLE_HOME
正确无误。
动态监听器配置示例:
LSN2=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname)(PORT=1526))
(ADDRESS=(PROTOCOL=ipc)(KEY=extprocyourdbname))))
动态监听器配置时,需要更改端口号,并确保KEY
值与静态监听器不同,以便成功启动监听器。启动命令如下:$ lsnrctl start LSN2
。
TNS名称配置:
对于静态注册的TNS名称配置:
JESN=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=yourdbname)))
其中,SERVICE_NAME
应与listener.ora
中的GLOBAL_DBNAME
一致,可自定义以增强安全性。
对于动态注册的TNS名称配置:
JESN=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname)(PORT=1526))
(CONNECT_DATA=
(SERVICE_NAME=yourdynamicservicename)))
SERVICE_NAME
应与数据库中的服务名一致,可以通过show parameter name
命令查看并设置。