ITPub博客

首页 > 大数据 > 数据挖掘 > local_listener 与 remote_listener 参数说明

local_listener 与 remote_listener 参数说明

原创 数据挖掘 作者:家有ORACLE老公 时间:2020-03-07 18:16:18 0 删除 编辑

动态注册是在 instance 启动的时候, PMON 进程根据 init.ora 中的 instance_name,service_names 两个参数将实例和服务动态注册到 listener 中。


一 本地监听

1 添加本地监听

[grid@db1 ~]$ srvctl add listener -l listener
PRCN-3004 : Listener LISTENER already exists


2 启动本地监听

[root@db1 grid]# crsctl start resource ora.LISTENER.lsnr

CRS-2672: Attempting to start 'ora.LISTENER.lsnr' on 'db2'

CRS-2676: Start of 'ora.LISTENER.lsnr' on 'db2' succeeded


3 查看监听配置

[root@db1 grid]# srvctl config listener

Name: LISTENER

Network: 1, Owner: root

Home: <CRS home>

End points: TCP:1521


4 查看集群中的本地监听器

[root@db1 grid]# srvctl config listener




5 查看本地监听状态

--节点1

[grid@db1 ~]$ lsnrctl status

进库里面验证

SQL> show parameter local_listener

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
local_listener                 string      (ADDRESS=(PROTOCOL=TCP)(HOST=
                         192.168.56.101)(PORT=1521))



--节点2


进库里面验证

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
local_listener                 string      (ADDRESS=(PROTOCOL=TCP)(HOST=
                         192.168.56.202)(PORT=1521))


每个节点都是链接自己的vip,说明外部应用链接本地监听是没有问题的。本地监听链接的三要素:ip地址、端口号、服务名


二 scan监听器

1 添加scanip

[root@db1 grid]# srvctl add scan -n scanip         --这里是自己hosts解析的scanip,最多允许3个scanip

2 启动scan

[root@db1 grid]# srvctl start scan         

[root@db1 grid]# srvctl config scan

SCAN name: scanip, Network: 1/192.168.11.0/255.255.255.0/eth0

SCAN VIP name: scan1, IP: /scanip/192.168.11.101

3 添加scan监听器

[root@db1 grid]# srvctl add scan_listener

[root@db1 grid]# srvctl start scan_listener

验证

[root@db1 grid]# crsctl stat res -t


[grid@db1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node db2


说明scan监听器在节点2上,在节点2查看监听器的状态

[grid@db2 admin]$ lsnrctl status SCAN_LISTENER_SCAN1


1 如果把scanip 注册进scan监听器,或者只让节点1 ,走scan ip ,需要设置参数。

--节点1

SQL> show parameter remote

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode         string     TIMESTAMP
remote_listener              string     scanip:1521
remote_login_passwordfile         string     EXCLUSIVE
remote_os_authent             boolean     FALSE
remote_os_roles              boolean     FALSE
result_cache_remote_expiration         integer     0


SQL> alter system set remote_listener='scanip:1521' sid='orcl1';           --指定sid,不然默认就设置两个节点的


--节点2

SQL> show parameter remote

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode         string     TIMESTAMP
remote_listener              string     scanip:1521
remote_login_passwordfile         string     EXCLUSIVE
remote_os_authent             boolean     FALSE
remote_os_roles              boolean     FALSE
result_cache_remote_expiration         integer     0


SQL> alter system set remote_listener='' sid='orcl2';   


验证

[grid@db2 admin]$ lsnrctl status SCAN_LISTENER_SCAN1



虽然节点1的不走scanip,但是本地的监听是没有问题的,

[grid@db2 admin]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): db1,db2

2 让节点2 也走scanip

1 查看参数

SQL> show parameter remote

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode         string     TIMESTAMP
remote_listener              string
remote_login_passwordfile         string     EXCLUSIVE
remote_os_authent             boolean     FALSE
remote_os_roles              boolean     FALSE
result_cache_remote_expiration         integer     0


2 设置参数

SQL> alter system set remote_listener='scanip:1521' sid='orcl1';

System altered.

SQL> show parameter remote

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode         string     TIMESTAMP
remote_listener              string     scanip:1521
remote_login_passwordfile         string     EXCLUSIVE
remote_os_authent             boolean     FALSE
remote_os_roles              boolean     FALSE
result_cache_remote_expiration         integer     0


3 验证

[grid@db2 admin]$ lsnrctl status SCAN_LISTENER_SCAN1


如果没有注册进去,就需要手工执行

SQL> alter system register;




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959246/viewspace-2678976/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    34
  • 访问量
    49012