oracle rac vip scanip

Posted 架构成长之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle rac vip scanip相关的知识,希望对你有一定的参考价值。

SCAN概念

先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库。SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3个)SCAN IP,我们可以通过DNS或者GNS来解析实现。其中DNS大家都很熟悉,这里不多说。GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和SCAN IP。另外还有个优点是,对于新加入集群的节点,它会自动分配VIP地址,更新集群资源,客户端依然通过SCAN特性负载均衡地连接到新增集群节点上。DNS和GNS配置与解析相关内容在下面还有说明。
     除了DNS和GNS解析方法外,SCAN也可以使用hosts文件来解析,但用过的人都知道,此方法不仅在安装RAC的时候产生问题,后期使用也是存在问题的,比如SCAN域名只能定义一个SCAN IP。所以这种方法也是Oracle不推荐使用的。但尽管如此,很多生产上依然这样使用,也就是废弃了11g的新特性SCAN,而是依然采用VIP连接方式。

public ip&vip&scanip&private ip

Oracle RAC中每个节点都有一个虚拟IP,简称VIP, 与公网PUBLIC  IP在同一个网段。vip 附属在public网口接口。

public网卡有二个IP地址:public ip是固定的,vip是浮动的。

RAC中的Private私有IP用于心跳同步,这个对于用户层面,可以直接忽略,它和public ip不属于同一个接口。

在11gR2中,SCAN  IP是作为一个新增IP出现的, scan ip其实是oracle在客户端与数据库之间,新加的一个连接层,当有客户端访问时,连接到 SCAN IP LISTENER, 而SCAN IP LISTENER接收到连接请求时,会根据 LBA 算法将该客户端的连接请求,转发给对应的instance上的VIP LISTENER,从而完成了整个客户端与服务器的连接过程。简化如下:

 
client -> scan listener -> local listener -> local instance
 
也可以把scan理解为一个虚拟主机名,它对应的是整个RAC集群。客户端主机只需通过这个scan name即可访问数据库集群的任意节点。当然访问的节点是随机的,oracle强烈建议通过DNS Server的round robin模式配置解析SCAN,实现负载均衡(即轮换连接SCAN对应的IP地址)。这有点类似通过vip和listener loadbalance配置实现负载均衡的原理。

客户端TNSNAMES.ORA配置

vip:19.16.8.166、19.16.8.167

scanip:19.16.8.154

---vip配置
gdsx_pro = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 19.16.8.166)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 19.16.8.167)(PORT = 1521)) (LOAD_BALANCE = yes) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = gdwsbs) ) ) ---scanip配置
gdsx_scan_pro
= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 19.16.8.154)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = gdwsbs)))

tnsping命令

tnsping 19.16.8.154:1521/gdwsbs




以上是关于oracle rac vip scanip的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 11gR2 RAC中的SCAN IP

Oracle RAC中的几个IP

oracle 11.2.0.4 rac 修改 ip vip scan ip

oracle12c rac搭建时主机名无效问题的解决

Oracle 12c应用连接VIP轮训负载均衡?

细说oracle 11g rac 的ip地址