rac listener 与 tns 配置备忘

实例环境

node1:rac1
node2:rac2
node3:rac3
node4:rac4

每台实例 listener 配置方法

node1:<listener.ora>

LISTENER_RAC1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = TCP)(HOST = node1-priv)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
      )
    )
  )

node2:<listener.ora>

LISTENER_RAC2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = TCP)(HOST = node2-priv)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
      )
    )
  )

node3:<listener.ora>

LISTENER_RAC3 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = TCP)(HOST = node3-priv)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
      )
    )
  )

node4:<listener.ora>

LISTENER_RAC4 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = TCP)(HOST = node4-priv)(PORT = 1521)(IP = x.x.x.x))
        (ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
      )
    )
  )

每个实例中tnsnames.ora都加入下面信息.

LISTENER_RAC =
  (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521)(IP = x.x.x.x))
     (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521)(IP = x.x.x.x))
     (ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1521)(IP = x.x.x.x))
     (ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1521)(IP = x.x.x.x))
  )
LISTENER_RAC1 =
  (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521)(IP = x.x.x.x))
  )
LISTENER_RAC2 =
  (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521)(IP = x.x.x.x))
  )
LISTENER_RAC3 =
  (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1521)(IP = x.x.x.x))
  )
LISTENER_RAC4 =
  (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1521)(IP = x.x.x.x))
  )

为避免出现连接问题, 主动定义让 pmon 能够为 listener 注册, 在每个实例中修改一下 local_listener 与 remote_listener, 以防万一, 注 local_listener 定义了每个实例的 listener 名称,  sid 定义每个实例 sid

ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC1' SCOPE=BOTH SID='RAC1';
ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC2' SCOPE=BOTH SID='RAC2';
ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC3' SCOPE=BOTH SID='RAC3';
ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC4' SCOPE=BOTH SID='RAC4';

ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC1';
ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC2';
ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC3';
ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC4';

 

客户端的 tns 也需要做一下处理,  当连接到 sqlplus tt@rac 之后, 就可以实现 load balance 调度了.

rac =
(DESCRIPTION =
   (ADDRESS_LIST =
     (LOAD_BALANCE=ON)
     (FAILOVER=ON)
     (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521)(IP = x.x.x.x))
     (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521)(IP = x.x.x.x))
     (ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1521)(IP = x.x.x.x))
     (ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1521)(IP = x.x.x.x))
   )
   (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RAC)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
      )
   )
)

产生多个连接后利用 gv$session 查询一下调度情况吧.

注: v$session 是某个实例的环境, gv$session 是全局环境

转载于:https://www.cnblogs.com/terrytsang/archive/2013/05/22/3092931.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值