Oracle动态监听及静态监听区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle动态监听及静态监听区别相关的知识,希望对你有一定的参考价值。


作者:IT邦德
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
(Web\\java\\Python)工作,主要服务于生产制造
现拥有 Oracle 11g OCP/OCM、
mysql、Oceanbase(OBCA)认证
分布式TBase\\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验

Oracle动态监听及静态监听区别_动态注册

前言


本文阐述了Oracle动态监听及静态监听区别


一、静态监听

静态注册就是实例启动时读取listener.ora文件的配置,将实例和服务注册到监听程序。
无论何时启动一个数据库,默认地都有
两条信息注册到监听器中:数据库服务器对应的实例和服务。

实例不必启动,静态监听也能注册
服务器启动静态监听后,可以远程远程启库

1.1 配置文件

静态注册时
listener.ora中的GLOBAL_DBNAME向外提供服务名
listener.ora中的SID_NAME提供注册的实例名

LISTENER2=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=MES)(PORT=1523))
)
)

SID_LIST_LISTENER2=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=PROD)
(ORACL_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=PROD)
)
)

Oracle动态监听及静态监听区别_oracle_02


1.2 配置本地监听位置

alter system set local_listener=(ADDRESS = (PROTOCOL = TCP)(HOST = MES)(PORT = 1523));

1.3 启动监听

[oracle@MES ~]$ lsnrctl start LISTENER2

Oracle动态监听及静态监听区别_oracle_03


1.4 远程连接启库

sqlplus sys/oracle@192.168.1.72:1523/PROD as sysdba

Oracle动态监听及静态监听区别_数据库_04

二、动态监听

动态注册是在instance启动的时候PMON进程根据参数文件中的instance_name,service_names
两个参数将实例和服务动态注册到listener中

Oracle动态监听及静态监听区别_oracle_05


2.1 配置文件

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MES)(PORT = 1521))
)
)

Oracle动态监听及静态监听区别_数据库_06

动态注册默认只注册到默认的监听器上(名称是LISTENER、端口是1521、协议是TCP),
如果需要向非默认监听注册,则需要配置local_listener参数!

SYS@PROD> alter system set local_listener = ;

Oracle动态监听及静态监听区别_oracle_07


2.2 启动监听

[oracle@MES ~]$ lsnrctl start
[oracle@MES ~]$ lsnrctl status

Oracle动态监听及静态监听区别_数据库_08


以上是关于Oracle动态监听及静态监听区别的主要内容,如果未能解决你的问题,请参考以下文章

windows 2012 系统下oracle11.2 怎样配置监听

Oracle补习班第七天

oracle 动态注册监听问题

动态监听与静态监听(转载)

Oracle 静态监听注冊具体解释

Oracle配置管理