L2=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=pri)(PORT=1521))))
ADR_BASE_LISTENER=/u01/app |
用来指定监听的log和trace放在哪里。 Purpose To specify the base directory in to which tracing and logging incidents are stored when ADR is enabled. Default The default is ORACLE_BASE, or ORACLE_HOME/log if ORACLE_BASE is not defined. Values Any valid directory path to a directory with write permission. 静态注册需要重启监听器而不是reload |
Property | Description |
---|---|
Parameter type | String |
Syntax | LOCAL_LISTENER = network_name |
Default value | (ADDRESS = (PROTOCOL=TCP)(HOST= hostname )(PORT=1521)) where hostname is the network name of the local host. |
Modifiable | ALTER SYSTEM |
Basic | No |
LOCAL_LISTENER
specifies a network name that resolves to an address or address list of Oracle Net local listeners (that is, listeners that are running on the same machine as this instance). The address or address list is specified in the TNSNAMES.ORA
file or other address repository as configured for your system.
如果有local_listener参数,则看这个参数的端口对应的监听是否存在,存在监听的话,则动态注册,不存在则alter system register仍然到1521端口的监听去注册。 |
SQL> alter system set local_listener=listener;后面的Listener守军说的好是基于服务器的tns来解释的。也可以直接指定,就不用麻烦tns了。
SQL> alter system set LOCAL_LISTENER='(ADDRESS = (PROTOCOL = TCP)(HOST = pri)(PORT = 1524))';
配置一个库到多个监听动态注册:
alter system set local_listener='(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.71)(PORT=1523))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=2011))))'
scope=BOTH SID='OCRL1';
不管关闭何时数据库,动态注册的数据库都会动态地从监听器注销,而与之相关的信息将从状态列表中消失。
这样,不管数据库是在运行还是已经关闭,监听器总是知道它的状态。该信息将被用于连接请求的回退(fallback)和负载平衡
4.查询某服务是静态注册还是动态注册
可以使用命令lsnrctl status来查看某服务是静态注册还是动态注册。实例状态为UNKNOWN值时表明此服务是静态注册的设置。这时监听器用来表明它不知道关于该实例的任何信息,只有当客户发出连接请求时,它才检查该实例是否存在。动态注册的数据库通过状态信息中的状态READY或状态BLOCKED来指明。
lsnrctl start默认是启动一个叫Listener的监听,并使用1521端口。
5.2如果有Listener.ora文件。
有其他监听使用了1521端口,则lsnrctl start就是启动这个1521端口对应的监听。
如果没有其他监听用1521端口,就要用配置了LIstener的这个监听,
而不管他是否1521端口。什么都没有的话,就自动启用一个5.1的结果。