Oracle Real Application Clusters 11g R2 新特性之SCAN -- 基础篇

来源:互联网 发布:软件销售有什么软件 编辑:程序博客网 时间:2024/04/30 01:56
#
## Oracle Real Application Clusters (RAC) 11g R2 新特性之SCAN -- 基础篇
# Oracle 11gR2 RAC/ new feature/ SCAN ip


>>INTRO
SCAN为Single Client Access Name的缩写,是Oracle Real Application Clusters (RAC) 11g R2提供的特性,用于支持客户通过单个名称访问数据库集群,屏蔽了数据库的物理结构,只须在客户端配置单个net名称,而不必关心集群的节点增加或者删除,再去修改客户端的TNS配置文件。 SCAN同样也支持EZconnect、JDBC thin URL方式连接,也可以像以前版本连接数据库,而不必通过SCAN,不过Oracle不建议这样做,原因如下:
1.实现Failover;
2.实现Load Balance;
3.SCAN listener结合其它进程收集监听负载,而选择当时性能最佳的实例分配客户的请求;
4.提供更短的失效时间。


SCAN被赋予了以下几个特点:
1.在集群中,必须有且至少有一个SCAN IP;
2.SCAN IP必须与vip、public IP属于同一子网;
3.SCAN listener 和VIP listener默认配置在GRID_HOME内。


>>PART 1:配置方式
在11g R2 RAC安装过程中,SCAN的配置是在Oracle Grid Infrastructure安装期间。对于SCAN的配置,Oracle推荐了两种方式:
  1.使用DNS解析SCAN
2.使用GNS(Grid Naming Service)
对于使用第一种dns解析的方式,就必须在域的文件内指定SCAN_NAME与之对应的IP 地址。如下:DNS采用轮训的机制,每次查询得出的次序都会不同,可以解析出三个SCAN IP,这也是Oracle推荐的配置。 
racscan.oracledb12c.com     IN A 192.168.2.222
racscan.oracledb12c.com     IN A 192.168.2.223
racscan.oracledb12c.com     IN A 192.168.2.224


如下查询得到的结果:
第一次查询时:
[root@rac1 ~]# nslookup racscan.oracledb12c.com
Server:         192.168.2.11
Address:      192.168.2.11#53
Name:   racscan.oracledb12c.com
Address: 192.168.2.222
Name:   racscan.oracledb12c.com
Address: 192.168.2.223
Name:   racscan.oracledb12c.com
Address: 192.168.2.224
再次查询时,结果顺序发生了改变:
[root@rac1 ~]# nslookup racscan.oracledb12c.com
Server:         192.168.2.11
Address:      192.168.2.11#53
Name:   racscan.oracledb12c.com
Address: 192.168.2.224
Name:   racscan.oracledb12c.com
Address: 192.168.2.222
Name:   racscan.oracledb12c.com
Address: 192.168.2.223


对于使用第二种GNS解析方式,需要结合DHCP服务,请参考官方文档GRID FOR LINUX 第二章高级安装部分。


>>PART 2:SCAN工作方式
1.用户的请求发送到SCAN listener上,SCAN listener返回负载小的local_listener的地址。
2.通过local_listener的信息和服务名连接到实例(这里需要注意的,RAC安装完后,local_listener信息内host的值是vip的名字,如果客户端无法解析出相应的ip地址,就会抛出无法发现目标主机,需要改为vip对应的ip地址)。
 
三个SCAN IP是随机分配到节点上,当一个节点down,就会浮动到别的存活节点,等失败节点重新加入集群时,SCAN IP会重新分配到该节点。


>>PART 3:验证SCAN
1.查看scan配置信息
$srvctl config scan
$srvctl config scan_listener
2.查看scan状态
$srvctl status scan
$srvctl status scan_listener


>>PART 4:更新scan配置(由hosts文件方式改为dns)
1.首先在dns域文件中定义scan;
2.运行:srvctl stop scan_listener关闭scan_listener;
3.运行:srvctl stop scan关闭scan
4.执行srvctl modify scan -n racscan.oracledb12c.com<原来的scan_name,或者新的名字,采用新的名字还需要修改参数文件。>
5.执行srvctl scan_listener -u
6.启动scan: srvctl start scan
7.启动scan_listener: srvctl start scan_listener








资料摘自:http://www.qidunet.com/?p=242
http://docs.oracle.com/cd/E11882_01/install.112/e24660/undrstnd.htm#RILIN1089






E.O.F


2012-09-15

0 0
原创粉丝点击