oracle 11g 中出现SCAN IP,请问这个IP 的作用是什么?每个数据库最多有多少个SCAN IP?

oracle 11g 中出现SCAN IP,请问这个IP 的作用是什么?每个数据库最多有多少个SCAN IP?,第1张

SCAN IP的数量和数据库节点数没有直接的关系。SCAN IP的数量一般是三个。

严格来说应该称为SCAN VIP(虚拟IP),而不是SCAN IP。SCAN VIP可以高可用地漂移在活动的数据库节点上。

SCAN VIP是SCAN Listener的监听地址。一个SCAN VIP对应一个SCAN Listener,它们会工作在同一台服务器节点上,SCAN Listener飘到哪个节点上,SCAN VIP也就飘到哪个节点上。同理,SCAN Listner的数量是三个。

三个SCAN VIP对应同一个DNS名,也就是所谓的SCAN(单一客户访问名)。

客户端的TNS里配置的绝对不是SCAN VIP的"IP",而是SCAN VIP对应的DNS名。这样,无论节点添加还是删除,客户端可以不用做任何修改。

再提醒一下,SCAN VIP的数量不与数据库节点的数量一致。

我曾做过8个节点的11gR2 RAC,SCAN VIP和SCAN Listener的数量是:三个!

这个问题不难!11gR2中,引入了SCAN(SingleClientAccessName)的特性,该特性的好处在于,在数据库与客户端之间,添加了一层虚拟的服务层,就是所谓的scanip以及scaniplistener,在客户端仅需要配置scanip的tns信息,通过scaniplistener,连接后台集群数据库。这样,不论集群数据库是否有添加或者删除节点的 *** 作,均不会对client产生影响。当有客户端应用程序使用SCANip访问数据库时,scanlistener会将连接转发到locallistener上。原则上scanip数量于数据库结点(正常提供服务的)数量一致

在Oracle 11gR2以前,如果数据库采用了RAC架构,在客户端的tnsnames中,需要配置多个节点的连接信息,从而实现诸如负载均衡,failover等等RAC的特性。因此,当数据库RAC集群需要添加或删除节点时,需要及时对客户端机器的tns进行更新,以免出现安全隐患。

在11gR2中,为了简化该项配置工作,引入了SCAN(Single Client Access Name)的特性,该特性的好处在于,在数据库与客户端之间,添加了一层虚拟的服务层,就是所谓的scan ip以及scan ip listener,在客户端仅需要配置scan ip的tns信息,通过scan ip listener,连接后台集群数据库。这样,不论集群数据库是否有添加或者删除节点的 *** 作,均不会对client产生影响。

例如之前没有scan ip时:

url="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.101.10)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.101.20)(PORT = 1521))(LOAD_BALANCE = yes))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = bjdig)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 30)(DELAY = 15))))"

有了scan ip 就和单机是一样的,用scan ip即可,如:

jdbc:Oracle:thin:@172.18.2.6:1521:apps


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10056002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存