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

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

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


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

 不管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 客户端如何链接到ORACLE 11GR2  带有DNS SCAN IP 的数据库服务器app

[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

转自:https://www.linuxidc.com/Linux/2016-12/137851.htm