动态监听与静态监听(二)
) for this service...
Service"elvisXDB" has 1 instance(s).
Instance "elvis", status READY, has1 handler(s) for this service...
The command completedsuccessfully
以上服务名b,c,d,elvis都为READY,为动态注册。
注意:不管参数service_names为何值,pmon都会自动以全局数据库名(这里为elvis)为服务名,动态注册一个监听。
缺省情况下,若启用动态注册监听,端口号必须为1521.若启用其他端口的动态监听注册,必须要做相关配置。
3.2 自定义端口的动态注册监听
若要启用非默认端口1521的动态监听注册,缺省状态,Oracle不会进行动态注册。要启用动态注册,必须设置local_listener参数。并在服务端配置tnsnames.ora指定监听参数,或者直接通过修改local_listener指定监听参数。步骤如下:
1)服务端
netmgr,配置监听程序,监听端口为1525(非默认端口)

2)指定监听参数
(1)方法1:直接通过修改local_listener参数指定
[sql]
SQL>alter system set LOCAL_LISTENER=’(ADDRESS=(PROTOCOL=TCP)
(HOST=192.168.201.128)(PORT=1525))’;
SQL>alter system register
(2)方法2:
在Oracle服务器建立$ORACLE_HOME/network/admin/tnsnames.ora。解析文件,位置并填入如下内容
[plain]
mytest=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.128)(PORT = 1522))
)
这里的mytest也可以根据自己的需要,修改为其他字符串。如a或b等。
设置参数,指定通过tnsnames.ora内的信息指定监听参数
[sql]
SQL>alter system setlocal_listener=mytest;
SQL>alter system register;