阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle 11G R2 RAC中的scan ip 的用途和基本原理

119次阅读
没有评论

共计 2326 个字符,预计需要花费 6 分钟才能阅读完成。

Oracle 11G R2 RAC 增加了 scan ip 功能,在 11.2 之前,client 链接数据库的时候要用 vip,假如你的 cluster 有 4 个节点,那么客户端的 tnsnames.ora 中就对应有四个主机 vip 的一个连接串,如果 cluster 增加了一个节点,那么对于每个连接数据库的客户端都需要修改这个 tnsnames.ora。

 引入了 scan 以后,就方便了客户端连接的一个接口,顾名思义 single client access name,简单客户端连接名,这是一个唯一的名称,在整个公司网络内部唯一,并且在 DNS 中可以解析为三个 ip 地址,客户端连接的时候只需要知道这个名称,并连接即可,每个 SCAN VIP 对应一个 scan listener,cluster 内部的 service 在每个 scan listener 上都有注册,scan listener 接受客户端的请求,并 foward 到不同的 Local listener 中去,还是由 local 的 listener 提供服务给客户端。

scan 只是一个名字,这个名字在 DNS 上解析成三个 IP 地址(VIP 也是一个名字,也要配置一个 ip 地址阿)

 无论 cluster 有多大(两个节点或者 20 个节点),都只有三个 scan vip,在随机的节点上启动(如果是两个节点,可能三个 vip 在一个节点,也可能是 1+2)

scan 主要是简化客户端连接,你如果有 20 个节点,客户端连接的时候,是不是需要配置 20 个 vip,如果用 scan,只需要一个 scan name 就行了,剩下的事情,scan 帮你做了。

至于为什么需要在 dns 里注册三个,主要是为了尽量提高可用性。
当节点数大于 3 时,最多也只会有 3 个 SCAN listener, 也就是说有的节点上没有 scan listener.
如果使用 /etc/hosts 文件解析 scan ip, 因为不能做轮训的负载均衡,所以这时候 scan ip 就只能有一个了。

例如:

oracle 客户端如何连接到 ORACLE 11GR2  带有 DNS SCAN IP 的数据库服务器

[grid@rac2 ~]$ srvctl config scan
 SCAN name: racnode-cluster-scan.racnode.com, Network: 1/192.168.3.0/255.255.255.0/eth0
 SCAN VIP name: scan1, IP: /racnode-cluster-scan.racnode.com/192.168.3.231
 SCAN VIP name: scan2, IP: /racnode-cluster-scan.racnode.com/192.168.3.233
 SCAN VIP name: scan3, IP: /racnode-cluster-scan.racnode.com/192.168.3.232

客户端 TNSNAMES.ORA 配置

RACDB =
  (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = racnode-cluster-scan.racnode.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = racdb){
    )  )

 TNSPING 测试

 客户端网络配置指向 DNS 服务器地址 192.168.3.32

 C:\Documents and Settings\Administrator>tnsping racdb

 TNS Ping Utility for 32-bit Windows: Version 11.1.0.7.0 – Production on 20- 7 月 -2010 18:53:50

 Copyright (c) 1997, 2008, Oracle.  All rights reserved.

已使用的参数文件:
D:\app\Administrator\product\11.1.0\db_1\network\admin\sqlnet.ora

已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = racnode-cluster-scan.racnode.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = racdb)))
 OK (80 毫秒)

 客户端连接

C:\Documents and Settings\Administrator>sqlplussystem/abcdefg@racdb

 SQL*Plus: Release 11.1.0.7.0 – Production on 星期二 7 月 20 18:46:15 2010

 Copyright (c) 1982, 2008, Oracle.  All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Production
 With the Partitioning, Real Application Clusters, Automatic Storage Management
 OLAP,
 Data Mining and Real Application Testing options

 SQL> select instance_name from v$instance;

 INSTANCE_NAME
 —————-
 racdb2

 SQL> exit

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/137851.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2326字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中