--整理以前的学习笔记
1、local_listener
local_listener参数的作用!
pmon只会动态注册port等于1521的监听,否则pmon不能动态注册listener,要想让pmon动态注册listener,需要设置
local_listener参数。
配置了两个listener(listener.ora)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylinux)(PORT = 1522))
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylinux)(PORT = 1521))
)
)
alter system set local_listener=listener2;
alter system set local_listener=listener2
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER2'
需要在tnsnames.ora中配置过才行(tnsnames.ora)
LISTENER2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylinux)(PORT = 1522))
)
(这里的"listener2"的名字不一定要与监听器(listener2)的名字相同,但是要与local_listener的参数值相同)
alter system set local_listener=listener2;--现在就可以成功执行了,此处local_listener由名称指定,
只有将此名称解析为地址,实例才能找到侦听器并执行注册
当然也可以在参数中硬编码侦听器的地址
alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = mylinux)(PORT = 1522))';
此时如果把两个监听器都打开
lsnrctl start listener
lsnrctl start listener2
再启动实例startup
可以看到实例注册的是listener2这个监听
2、remote_listener用在RAC环境中,监听器与实例不在同一台机器上
待以后补上
3、current_listener当前监听器
先使用lsnrctl命令来进入监听器,再设置当前监听器
LSNRCTL> set current_listener listener2
Current Listener is listener2
那么接下来的stop start status等命令都是针对当前监听器listener2
如果不设置的话那么进入监听器之后默认的监听器是listener
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26524307/viewspace-1061151/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26524307/viewspace-1061151/