在有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启动后的状态如下:
STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 18-SEP-2013 16:58:01 Uptime 0 days 0 hr. 12 min. 54 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File /opt/oracle/diag/tnslsnr/data/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.15)(PORT=1521))) Services Summary... Service "orcl.localdomain" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully
instance_name和service_names参数配置如下:
SQL>show parameter instance_name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ instance_name string orcl SQL>show parameter service_name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string orcl.localdomain
从上面我们可以发现:Listener里的Service、Instance是和instance_name、service_names参数相 对应。这里需要特别说明的是:参数service_names可以指定多个service_name,它们之间用逗号隔开 。
在客户端tnsnames.ora里我们可以设置SID等于instance_name:
test = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.15)(PORT = 1521)) ) (CONNECT_DATA = (sid = orcl) ) )
也可以设置service_name等于services_names中的任意一个:
test = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.15)(PORT = 1521)) ) (CONNECT_DATA = (service_name = orcl.localdomain) ) )
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索oracle
, 实例
, 参数
, listener
, 注册
, oracle listener
, listen
, listener静态注册
, oracle静态注册
, 启动instance
, 动态注册
listeners
oracle动态注册监听、oracle 动态注册、oracle单机 动态注册、oracle 动态注册失败、oracle listener.ora,以便于您获取更多的相关知识。