查看: 1716|回复: 2

Oracle RAC 产品概述

[复制链接]
论坛徽章:
3
Oracle研习者初级
日期:2013-08-08 23:03:51Hadoop研习者初级
日期:2013-08-25 13:45:19Oracle研习者高级
日期:2013-11-12 16:28:09
发表于 2013-10-21 15:29 | 显示全部楼层 |阅读模式
本帖最后由 wojiaoao 于 2013-10-21 15:31 编辑

Oracle RAC 产品概述
  Oracle Real Application Server,真正应用集群,简称Oracle RAC ,是Oracle的并行集群,位于不同服务器系统的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享的设备上,能够被集群中的所有节点同时读写。其系统架构如下图:

  RAC提供的好处包括:   (1)多节点负载均衡;
  (2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化,下表是RAC与传统的双机热备方式切换时间的对比:

  (3)通过并行执行技术提高事务响应时间----通常用于数据分析系统;   (4)通过横向扩展提高每秒交易数和连接数 ----通常对于联机事务系统;
  (5)节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;
  (6)可扩展性好,可以方便添加删除节点,扩展硬件资源;   RAC的缺点有:
  相对单机,管理更复杂,要求更高;   在系统规划设计较差时性能甚至不如单节点;
  可能会增加软件成本(如果使用高配置的pc服务器,Oracle一般按照CPU个数收费)
  在Oracle9i之前,RAC的名称是OPS (Oracle parallel Server)。RAC 与 OPS 之间的一个较大区别是,RAC采用了Cache Fusion(高速缓存合并)技术。在 OPS 中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。使用Cache fusion时,RAC的各个节点的数据缓冲区通过高速、低延迟的内部网络进行数据块的传输。
  Oracle RAC在中国各行各业使用都比较广泛,包括通信移动、金融服务、社会保障和电子商务等, 据Oracle统计,2007财年中国有500多家企业使用Oracle实时应用集群,考虑到未登记信息,实际数字更高于这一数字。典型的用户包括:中彩在线/OLTP/4节点/10gR2/AIX5.3、淘宝/DataWarehouse/4节点/10gR2/RHEL4、北京社保/6节点/HP_Alpha/ MA8000、建行证券系统/2节点/IBM_P595/EMC_DMX3、上海电力/2节点/Alpha_GS160、广东移动、山东网通等。   Oracle RAC/Clusterware的结构和组件   一、RAC主要组件, 软硬件两部分   (1) 服务器 >= 2
  (2) 操作系统,推荐使用Oracle认证的系统;版本不要太老,也不要太新   (3) CPU/内存 根据业务需要,内存至少1G   (4) 本地磁盘空间,>=30G
  (5) 网卡>=2 ,推荐4个以上千兆网卡   (6) 私有以太网络,推荐千兆交换机以上   (7) HBA卡 ,如果是SAN,推荐2个冗余HBA   (8) 共享存储设备,推荐SAN设备
  (9) 存储管理, ASM/Cluster LV/裸分区/CFS,不推荐用OCFS,卷管理软件、多路径软件等
  (10) 第三方集群软件: 可选   (11) Oracle Clusterware 软件   (12) Oracle RDBMS 软件   二、Clusterware主要进程
  (1)crsd: 负责管理集群的高可用操作。管理的crs资源包括数据库、实例、监听、虚拟IP,ons,gds或者其他,操作包括启动、关闭、监控及故障切换。改进程由root用户管理和启动。crsd如果有故障会导致系统重启。
  (2)cssd,管理各节点的关系,用于节点间通信,节点在加入或离开集群时通知集群。该进程由oracle用户运行管理。发生故障时cssd也会自动重启系统。   (3)oprocd – 集群进程管理 —Process monitor for the cluster. 用于保护共享数据IO fencing。
  仅在没有使用vendor的集群软件状态下运行   (4)evmd :事件检测进程,由oracle用户运行管理   三、Clusterware使用的共享设备
  (1) Oracle Cluster Registry(OCR):记录集群的配置信息;
  (2) Voting disk : 即投票盘,保存节点的成员信息,当配置多个投票盘的时候个数必须为奇数,每个节点必须同时能够连接半数以上的投票盘才能够存活;
  四、安装路径的选择
  (1)在Oracle RAC中,软件不建议安装在共享文件系统上;包括CRS_HOME和ORACLE_HOME,尤其是CRS软件,推荐安装在本地文件系统中,这样在进行软件升级,以及安装patch和patchset的时候可以使用滚动升级(rolling upgrade)的方式,减少计划当机时间。另外如果软件安装在共享文件系统也会增加单一故障点。
  (2)如果使用ASM存储,需要为asm单独安装ORACLE软件,独立的
ORACLE_HOME,易于管理和维护,比如当遇到asm的bug需要安装补丁时,就不会影响RDBMS文件和软件。
  (3)在Oracle 11gR2中将新增存储选项:acfs (Oracle ASM Cluster File System) 第三方集群
  在Oracle9i中,除了Windows和Linux,在安装RAC之前必须先安装vendor clusterware,即第三方集群,包括IBM的HACMP, HP的ServiceGuard for oracle RAC, Sun cluster,Veritas SFRAC等,这一类的集群软件为Oracle RAC提供了下面的功能:
  (1)共享的逻辑卷管理或者集群文件系统用于存放数据文件;   (2)提供了统一的集群的成员组管理;
  (3)使用更健壮的SCSI-3 PGR机制来防止心跳故障(即裂脑split brain)导致的数据损坏,这种功能一般叫做IO fencing;
  (4)提供效率更高的、更低延迟的心跳网络用于cache fusion,可以相对减少TCP/IP的开销,包括:
  HP SGeRAC: HMP (Hyper Messaging Protocol),   Sun Cluster: RSM (Remote Shared Memory),   Veritas SFRAC: LLT (low-latency transport),   Compac True Cluster: RDG (reliable data grams);   通常如果要使用第三方集群的心跳协议,需要将
$ORACLE_HOME/lib/libskgxpX.so文件替换为第三方集群
  软件提供的libskgxpX.so文件(其中X代表Oracle版本号9/10/11),skgxp 是System Kernel Generic Interface Inter-Process Communications的缩写,是oracle开放的一个应用接口,用于传输GCS和GES 的数据。Oracle自带的libskgxp文件定义的传输协议是UDP/IP。
  (5)提供扩展的容灾方案,例如campus cluster/metro cluster/extended RAC;如下图, 以Veritas的SFRAC为例,它提供两种Oracle Extended RAC方案,方案一是使用Veritas Volume Manager对底层阵列进行镜像,提供同城容灾级别的实时数据保护;方案二使用GCO/VVR对数据库进行数据复制,可以实现距离更远、超过10km广域网的容灾;

  (6)Veritas SFRAC 还提供了以下特性:
  补充的Oracle ODM,可以使Oracle同时拥有文件系统的易管理和裸设备的性能;
  标准的多路径软件(DMP),不需要再安装其他软件就可支持绝大多数磁盘阵列,在异构SAN环境中有更好的兼容性;
  从Oracle10g起,Oracle提供了自己的集群软件,叫Oracle clusterware简称CRS,这个软件是安装oracle rac的前提,而上述第三方集群则成了安装的可选项 。同时提供了另外一个新特性叫做ASM,可以用于RAC下的共享磁盘设备的管理,还实现了数据文件的条带化和镜像,以提高性能和安全性 (S.A.M.E: stripe and mirror everything ) ,不再依赖第三方存储软件来搭建RAC系统。   那么Oracle是如何识别第三方集群的呢?
  在安装完第三方集群后,会在特定目录下生成Oracle RAC接口文件,这个文件的作用就是上面的第二点功能:集群成员管理信息(cluster membership 简称CM)。在HPUX下该文件是/opt/nmapi/nmapi2/lib/pa20_64,在
AIX/Solaris/Linux下这个文件是/opt/ORCLcluster/lib/libskgxn2.so 。   当安装CRS的的检查阶段,就会检测是否有该文件,如果有的话,在安装CRS过程中生成一个软连接文件,文件名是ligskgxn2.so,指向上面的
libskgxn2.so或pa20_64文件,这个软连接的位置在CRS_HOME/lib/目录;如果没有第三方集群,那么CRS安装过程中生成自己的libskgxn2.so文件。换句话说,在有第三方集群存在的情况下,CRS的集群成员信息是来自于第三方集群,两套集群的成员信息保持一致和同步;没有第三方集群情况时,CRS自己管理成员信息。
回复

使用道具 举报

论坛徽章:
3
Oracle研习者初级
日期:2013-08-08 23:03:51Hadoop研习者初级
日期:2013-08-25 13:45:19Oracle研习者高级
日期:2013-11-12 16:28:09
 楼主| 发表于 2013-10-21 15:37 | 显示全部楼层
自己支持一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-10-20 18:33 , Processed in 0.091829 second(s), 29 queries .

关闭

扫一扫加入
本版微信群