读书人

[Oracle] Listener的动态登记

发布时间: 2013-09-22 09:32:58 作者: rapoo

[Oracle] Listener的动态注册

在有Oracle Listener的动态注册之前,采用的是静态注册,所谓静态注册是指Oracle实例在启动时,读取listener.ora里的配置,然后注册到Listener,它主要有两个缺点:

1. Listener不知道Oracle实例的实时状态

2. listener.ora里的配置比较麻烦,常需要手动修改。


动态注册

所谓动态注册是指Oracle实例启动后,会通过pmon进程实时的把实例状态和参数(instance_name,service_name)同步给Listener,其中参数instance_name如果为空,则默认为SID,参数service_name如果为空,则默认为db_name.db_domain

有了动态注册之后,我们甚至不需要listener.ora,这时命令lsnrctl start将启动默认的Listener(TCP协议、1521端口,Service和Instance分别来自参数service_name和instance_name。

这里有一个小tip:pmon并不是真正实时同步Oracle实例至Listener,而是隔几十秒,但你可以通过alter system register命令手动同步。

下面我们来看一个例子:

在这个例子里,我们没有配置listener.ora,listener.ora启动后的状态如下:

$ lsnrctl start listener_2$ lsnrctl status listener_2STATUS of the LISTENER------------------------Alias                     listener_2Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - ProductionStart Date                18-SEP-2013 17:36:43Uptime                    0 days 0 hr. 2 min. 53 secTrace Level               offSecurity                  ON: Local OS AuthenticationSNMP                      OFFListener Parameter File   /opt/oracle/product/11.2.0/network/admin/listener.oraListener Log File         /opt/oracle/diag/tnslsnr/data/listener_2/alert/log.xmlListening Endpoints Summary...  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=data)(PORT=1522)))Services Summary...Service "orcl.localdomain" has 1 instance(s).  Instance "orcl", status READY, has 1 handler(s) for this service...The command completed successfully

读书人网 >其他数据库

热点推荐