六、RAC 上配置监听器的步骤总结
1、为每个监听器在listener.ora中生成相应的条目,host的内容尽可能使用vip地址(建议直接指定ip,以避免dns解析错误)
2、为每个节点配置相应的tns条目,同样使用vip
LISTENERS_CLUSTERNAME = #全局配置,对应remote_listener,即如果有2个节点列出两个vip,3个节点应列出3个vip
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
)
LISTENERS_CLUSTER_1 = #本地配置,仅列出当前实例的节点ip
(ADDRESS_LIST = #节点2上可以设置为LISTENERS_CLUSTER_1,相应地vip为节点2的vip
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
) #也可以在一个节点上配置所有的local_listener连接标识符,然后将tnsnames.ora复制到所有节点
3、设置全局remote_listener参数
alter system set remote_listener='LISTENERS_CLUSTERNAME' scope=both sid='*';
4、设置本地local_listener参数(各个节点单独设置)
alter system set remote_listener='LISTENERS_CLUSTER_1' scope=both sid='node1';
或者直接将ip,port值设置到local_listener,如果这样第3步中的LISTENERS_CLUSTER_1可以不用配置,如下:
alter system set LOCAL_LISTENER='(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))' sid='node1';
5、在每一节点使用alter system register实现立即注册。此步骤可以省略。因为我们设置了local_listener与remote_listener之后等待片刻就可以实现动态注册。alter system register仅仅用于加快注册。
6、使用lsnrctl stauts LISTENER_ 查看监听器的状态