Oracle RAC & Data Guard搭建高可用数据库系统方案

Oracle RAC & Data Guard 搭建高可用数据库系统方案
       做者:   
                                                         Q Q   5979404
                                                         MSN nail.cn@msn.com
                                                         Mail:   nail.cn@msn.com
                                                         Blog:  http://nails.blog.51cto.com
 
1、高可用系统平台
Oracle Real Application Clusters (RAC)能够支持24 x 7 有效的数据库应用系统,能够由低成本的服务器构成的高可用性系统,自由的部署应用,而无需修改应用程序。
  
() RAC关键特性
l         高可用性
Oracle Real Application Clusters 提供一个高性能低成本的应用平台,支持全部类型的应用系统,不管是事务处理型应用仍是分析型应用。全部应用共享一样的服务器和存储资源。出现任何的服务器或磁盘故障,系统会自动从新接管发生故障的功能。这些对前端用户的彻底透明的。一样,若是您须要增长服务器或改变其余组件的配置也不会影响到应用系统。
l         高性能
Oracle Real Application Clusters保持着TPC-C的记录,达到每分钟 118万个事务的处理能力,和仅仅 $5.52 tpmC的成本。在3,000 GB TPC-H数据仓库Benchmark 测试中, Oracle RAC一样保持性价比的领先地位,保证咱们的用户可以达到更好更快的 ROI。这仅仅是Oracle 保持的多项Benchmark 记录中的最 近的一些指标。
l         按需扩充
在现有的系统多是基于当前的工做负载而构建的,当应用规模须要扩充时(支持更多的数据、用户或应用),就须要扩展系统以保证系统的性能。当您的应用是构建于大型的SMP主机时,您可能须要购买另外一 台昂贵的主机,但可能只能使用到其处理能力的很小一部分。可是若是您使用Oracle RAC的话,您能够经过增长一台或多台低成本的服务器来扩充您的应用系统的处理能力,知足应用需 求。
 
 
 
() RAC逻辑结构
从逻辑结构上看,每个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间经过集群软件的通信层(communication layer)来进行通信。同时为了减小I/O的消耗,存在了一个全局缓存服务,所以每个数据库的instance,都保留了一份相同的数据库cache
l         RAC中逻辑结构的特色是:
a)         每个节点的instance都有本身的SGA
b)        每个节点的instance都有本身的background process
c)        每个节点的instance都有本身的redo logs
d)        每个节点的instance都有本身的undo表空间
e)         全部节点都共享一份datafilescontrolfiles
l         提出了一个缓存融合的技术(Cache fusion),目的有两个:
a)         保证缓存的一致性,
b)        减小共享磁盘I/O的消耗。
l         所以在RAC环境中多个节点保留了同一份的DB Cache,缓存融合(Cache fusion)工做原理:
a)         其中一个节点会从共享数据库中读取一个blockdb cache中,
b)        这个节点会在全部的节点进行交叉db block copy
c)        当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改
d)        为了达到存储的一致最终修改的结果也会写到磁盘上ClusterWare组件
l         有四种Service
a)           Crsd - 集群资源服务
b)          Cssd - 集群同步服务
c)          Evmd - 事件管理服务
d)          oprocd - 节点检测监控
l           有三类Resource
a)           VIP - 虚拟IP地址(Virtual IP)
b)          OCR - Oracle Cluster Registry(集群注册文件),记录每一个节点的相关信息
c)          Voting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节   点同时写的行为,这样作是为了不发生冲突。
l           RAC的组件提供过了额外的进程,用来维护数据库:
a)           LMS - Gobal Cache Service Process 全局缓存服务进程
b)          LMD - Global Enqueue Service Daemon 全局查询服务守护进程
c)          LMON - Global Enqueue Service Monitor全局查询服务监视进程
d)          LCK0 - Instance Enqueue Process 实例查询进程
 
(三)RAC 的物理结构
    组成RAC的服务器称为节点,每台节点服务器至少须要2张网卡。 物理链接分三大系统,共享磁盘存储系统、专用网络系统、公用网络系统。
l         共享磁盘存储(Storage Share)
    Oracle RAC 依赖于一个共享磁盘体系结构。 数据库文件、联机重作日志和数据库的控制文件必须都能为集群中的每一个节点所访问。共享磁盘还存储 Oracle Cluster Registry Voting Disk。 配置共享存储有多种方法,包括直接链接磁盘(一般是使用铜缆或光纤的 SCSI)、存储区域网 (SAN) 和网络链接存储 (NAS)
l         专用网络(Private Network)
    每一个集群节点经过专用高速网络链接到全部其余节点,这种专用高速网络也称为集群互联或高速互联 (HSI)或心跳检查(Heart Check) Oracle Cache Fusion 技术使用这种网络将每一个主机的物理内存 (RAM) 有效地组合成一个高速缓存。 Oracle Cache Fusion 经过在专用网络上传输某个 Oracle 实例高速缓存中存储的数据容许其余任何实例访问这些数据。 它还经过在集群节点中传输锁定和其余同步信息保持数据完整性和高速缓存一致性。
l         公共网络(Public Network)
    为维持高可用性,为每一个集群节点分配了一个虚拟 IP 地址 (VIP)。 若是主机发生故障,则能够将故障节点的 IP 地址从新分配给一个可用节点,从而容许应用程序经过相同的 IP 地址继续访问数据库。
 
 
 
 
 
(四)Oracle  RAC系统结构图
 
  
 
2、高可用、高安全系统平台
(一)RAC + Data Guard数据卫士
如今大多企业都已采用Oracle RAC,且已有数据备份系统,那为何还要采用Data Guard呢?由于Data Guard 的数据保护能够实现主库(Primary Database)和备库(Standby Database)数据实时同步,而且在Oracle RAC彻底不可用的严重灾难时,快速的将备库切换到对外服务模式,使业务得以快速恢复,保障业务数据系统的高可用及高安全。
Data Guard的最主要的功能是冗灾。根据冗灾技术,能够分为物理Standby和逻辑Standby两种;根据保护级别的不一样可分为:最大保护、最大可用、最大性能。
(二) 冗灾技术模式
Data Guard能够分为物理Standby和逻辑Standby两种。两者的最大差异在于,物理Standby应用的是主库的归档日志,而逻辑Standby应用的是主库的归档日志中提取的SQL语句。因为二者这一区别,决定了物理Standby不管从逻辑结构和物理结构都是和主库保持一致,而逻辑Standby则只需保证逻辑结构一致,且逻辑Standby在应用SQL语句的时候,数据库能够处于打开的状态,在企业的核心数据库,首选物理Standby技术。
 
()  三种数据保护模式:
l         最大保护(Maximum protection)
    这种模式主库(Primary Database)备库(Standby Database)之间数据是实时同步的。即主库提交的同时,备库会作相应的恢复,最大程度的保证了数据完整性,不容许数据的丢失。若是主、备库之间网络,或者备库出现问题会直接影响主库操做,致使主库当机,以保证主、备库数据的绝对相同。
l         最高可用性(Maximum availability)
     这种模式和"最大保护"基本上差很少。正常状况下,主、备库之间是同步的。  当网络或者备库出现问题时,不会影响到主库的当机,主库会自动转换库"最大性能"模式,等待备库可用时,将归档传输到备库作恢复。能够把这种模式理解为"最大保护""最大性能"两种模式的中间体。
l         最高性能(Maximum performance)
     这种模式保证主库性能最大化,主备库之间数据是异步传输的。即主库日志归档之后才会传输到备用库,在备库上使用归档日志文件作恢复操做。若是网络条件理想的话,这种模式可以提供相似最高可用性的数据保护而仅对主数据库有轻微的性能影响。
 
 
 
 
 
 
  () Oracle RAC and Data Guard 结构图
 
       
       
做者:  
                                                         QQ 5979404
                                                         MSNnail.cn@msn.com
                                                         Mail:  nail.cn@msn.com
                                                       Blog:http://nails.blog.51cto.com