Oracle根据DISPATCHERS的配置,动态注册到1529端口上了。可以看到,如果设置了共享服务器,Oracle默认会在1521端口上,动态注册一

今天在监控一台单实例的数据库时,一个实例,同时以动态、静态两种方式注册到同一个监听上了。觉得有些奇怪,,呵。一般一个实例在设置了静态注册,就不会再动态注册到同一个监听器上了。

找了半天才发现是启用了共享服务器的原因。

如下图:

【数据库】Oracle共享服务器的监听注册机制研究

可以看到,同一个服务下,存在两个一样的实例,一个静态注册的实例,和一个动态注册的实例。

查看监听器及服务器参数配置:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME =lion)
(Oracle_HOME=/var/oracle/procedure/10.2.0/db_1)
(SID_NAME = lion)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.252.71)(PORT = 1521))
)
)

LOCAL_LISTENER未设置,也无其他数据库的REMOTE_LISTENER设置到这个监听。

这就有点奇怪了。

查看了下lsnrctl service

【数据库】Oracle共享服务器的监听注册机制研究

可以看到,都是共享服务器注册上来的。

【数据库】Oracle共享服务器的监听注册机制研究