OracleRAC方案概述1、传统HA介绍1.1、有限的可扩展性:传统HA硬件结构受限与主板插槽数量,CPU和内存的可扩展性有限,影响到关键性业务数据吞吐量和处理能力。高等UNIX服务器可以在线级。Intel-based服务器无法提供这种延展性。连HA丛集也需要切换才能做升级。HA软件本是提供延展性-企业还是必须买较大服务器(比如说把2颗CPU服务器换成8颗CPU服务器)。1.2、无法保证数据完整性:企业数据中心的数据十分重要,所以服务器必须保障数据完整性。HA无法提供高度数据完整性的保障。HA软件无法解决两个重要问题:第一,操作系统或网络失败时,它可能会造成HA软件不能正常运作。第二,因为HA丛集的切换有硬盘加载/释放的动作,服务器很忙的时候它无法做快速释放。如果HA软件没有时间限制,切换可能永远不会发生。不过,如果HA软件强制dismount/umount、数据可能会破坏。1.3、较低的管理性:因为其它方式较难管理,一般HA使用所谓的「一对一」模式(一个服务器是Primary、一个服务器是Backup服务器)。昀后企业使用好几个HA而且应用程序部署、系统管理、数据备份、丛集监控变成很大的管理负担。1.4、较低的可靠性:随着数据量的增长,HA系统故障切换时间会越来越长,同时错误的故障切换或两台服务器同时开始存取硬盘(应用程序正常运作但是服务器太忙所以没有反应)可能造成数据破坏。如果Active服务器上的虚拟IP用切回配置,Active服务器被reboot之后,虚拟IP和它的服务会从Passive服务器切回来Active服务器。如果Active服务器真的有问题而再当机,Passive服务器会再reset它。过了几个reset,数据库和其它应用程序的数据很有可能会被破坏。2、RAC产品说明2.1RealApplicationCluster介绍RealApplicationCluster(以前称作OracleParallelServer,OPS)用来在集群环境下实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的容错和无断点恢复。RealApplicationCluster为大多数关键业务要求的数据库环境提供了极高的性能和完善的纠错功能,允许集群系统或大型并行系统中的多个节点共享同一物理数据库。RealApplicationCluster可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。它还显著地提高了大型数据仓库和决策支持系统的性能。通过与并行查询选件结合,它还提供了节点间的并行性和节点内的并行性,以得到更高的性能。多服务器的Cluster(集群)结构,因其具有高可靠性、大容量共享磁盘支持、以及无断点的故障恢复,越来越受到业界的关注,越来越多的硬件厂商都相继推出自己的Cluster机种和机型,它已经成为硬件平台的一个新的发展方向。Oracle公司在1989年率先推出ParallelServer选件,以支持这种体系结构(Oracle6.2版)。随着Cluster技术自身的成熟,以及Oracle对这一技术的经验,RealApplicationCluster目前已能支持几乎所有的Cluster集群系统。在share-nothing或shared-disk模式的集群系统上,RealApplicationCluster均可以实现多节点共享数据库,并自动并行处理及均分负载,在数据库故障时进行容错和无断点恢复处理。Oracle提供一个通用的、集成的分布式锁定管理器(DLM)替代了原来的,由不同操作系统厂商提供的锁管理器,从而提高了在大多数工作平台上的执行性能和可移植性。这些使得Oracle并行服务器的运行速度显著加快。当并行服务器中某节点失效,透明的应用程序容错能够把用户自动转接到另一节点上继续运行,应用程序在用户没有察觉的情况下继续执行。这使周期性和非周期性发生故障的系统增大了连续可用性。进程的失效可以完全透明地转移到另一节点上去,通过适当地配置,可以指定所有查询都在客户端进行缓存,这样它们便可以在转移后的节点上重新设置。同时,还可以在没有失效时预先与容错节点建立一个连接,这样可以减少容错时在连接所花的时间。Oracle不仅支持第一代、第二代并行处理技术,还昀先支持第三代多节点并行处理机。能够在ClusterMode3及MPP结构的各节点上实现并行处理,均分负载。Oracle并行处理技术的另一大优势在于,无论在任何平台上,从单机到并行处理机,从OLTP应用到OLAP应用,Oracle数据库均为同一核心,因此在不同平台之间应用系统可平滑移植,提高了开发效率,降低了维护费用。目前,Oracle并行服务器技术在业界处于绝对领先地位,已在全球数千个实际应用系统中运行,经过十多年的不断完善和发展,其可靠性及稳定性已得到彻底检验。在Oracle的RealApplicationCluster技术中,全面采用了Oracle独特的CacheFusion(缓存熔合)技术,消除了多台服务器争用数据时产生的碰撞(Ping)现象,极大的提高了Cluster系统的可扩展性。使Cluster系统可以支持更多的节点,而且数据库应用完全不需要做任何复杂的修改或特殊设计就可以良好的运行在Cluster系统上,并且充分发挥多节点的处理性能。比较HA的结构,RAC有以下几个重要突破:•极强的可扩展性RAC提供了水平的可扩展性-企业数据中心可以从昀小的群集(2个服务器节点)延展到高达128个节点群集,而且集群可以在在线升级(新增或减少服务器时候,群集不需要重新启动。这意味着在应用级别不会应为硬件系统的扩展造成生产系统的停运)。•极高的可靠性/可用性由于RAC群集中所有节点同时加载共享硬盘,因此群集系统不会因为服务器宕机或其它因素造成单点失败,所以RAC群集的做法能够保障99.999%可用性(比HA高十倍;一般HA丛集是faultresilient而不是faulttolerant)。•高效率的管理性备份、应用程序、故障切换、硬盘存取都可以从任何一台服务器执行,带来了极其方便的管理手段。•提高投资汇报率企业可以用昀有经济效益的2-way或4-wayXeonCPU服务器建立高效能群集架构。因为丛集可以在线扩充,企业也不需要一开始就买太多服务器和储存空间。服务器规格可以不一样。有了RAC的可用性、效能和延展性的解决方案性价比和投资回报率远远高于传统的HA架构。2.2、RAC服务器与传统HA双机热备份的比较双机热备份(HA)和并行服务器(RAC)两种方式采用的机制不同,实现的效果也不同,HA使用的是主备方式,RAC实现的是并行服务器方式。Data数据库进程AServerAServerBServerADataServerB数据库进程A数据库进程BXX双机热备份方式如上图所示,在双机热备份方式下,数据库系统平时只能在一台服务器(例如服务器A)上运行,另一台服务器无法直接访问数据库,自然也无法进行负载分担。当服务器A由于故障失效时,由相应的操作系统软件控制,将服务器A管理的存储设备(如硬盘)转交给服务器B控制,同时在服务器B上启动另一个数据库进程,管理数据库。这种切换并启动新的数据库核心的过程一般需要几十秒到几分钟,随着数据量的不断增长,切换时间也会增长,在TB级的数据库,切换时间会达到几十分钟。这种方式的主要缺点在于:z由于需要重新启动数据库核心进程,无法保证数据库系统连续不间断地运行z在系统切换的过程中,客户端与服务器之间的数据库连接会中断,需要重新进行数据库的连接和登录工作z由于数据库系统只能在一台服务器上运行,另一台服务器无法分担系统的负载,实际上造成了客户投资的浪费。在有些系统中,为了解决双机负载分担的问题,将应用系统人为分割为两个数据库系统,分别在两台服务器上运行。这种方式在一定程度上解决了负载分担的问题,但给系统管理、统计分析等业务处理带来了很多额外的复杂性Data数据库进程BServerAServerB数据库进程ADataServerAServerB数据库进程A数据库进程BX并行服务器(RealApplicationCluster)方式在并行服务器(RAC)方式下,两台(或多台)服务器上各自运行一个数据库核心进程,但共同管理、操作一个数据库。客户端无论连接到哪个服务器都可以在数据库中进行操作。当服务器A由于故障失效时,数据库系统本身并未停止工作,连接在服务器B上的客户端还可以继续进行正常工作。同时,服务器B上也不需要再启动新的数据库服务器进程,因此也没有“切换时间”。对于一些特殊应用中严格要求前端应用不能中断的情况,Oracle并行服务器还提供了一种“预连接(pre-connect)”方式,以这种方式连接的客户端当服务器端发生故障时,客户端与数据库服务器的连接不会中断,会被Oracle并行服务器软件自动转接到还在正常工作的其它服务器上,不需要重新输入用户名及口令。与双机热备份方式相比,OracleRealApplicationCluster并行服务器方式有以下优点:z各服务器共享一个数据库,在正常运行时可以进行负载分担,无需考虑应用数据的人为分割z并行服务器方式对应用完全透明,在应用程序设计和开发的过程中也不需要进行特殊编程,简化了开发的复杂程度,同时今后系统扩展也无需修改应用程序z不需要重新启动数据库核心进程,缩短了故障造成的停机时间3、RAC的特点具有CacheFusion体系结构的OracleRealApplicationClusters为企业电子商务应用开发提供了以下好处:z电子商务应用的灵活和毫不费力的伸缩性;应用用户可以登录到单独的虚拟高性能集群服务器。向数据库添加节点非常容易,并且当需要添加处理器节点或者业务需求变化时,不用手工对数据进行分区。对于所有的应用即时提供集群的可伸缩性--不用修改应用程序。z较之传统集群数据库体系结构的高可用性解决方案;该体系结构为客户提供了几乎连续的数据访问,使硬件和软件故障导致的业务中断昀小化。系统具备对多个节点失败的容错能力,使部件失败屏蔽开昀终用户。z单独的管理实体;为了进行所有管理操作,在集群中保持一个单独的系统映像。DBA一次性地进行安装、配置、备份、升级以及监控等功能,然后Oracle将管理功能自动分配到适宜的节点。这意味着DBA只管理着一个虚拟服务器。zCacheFusion保存了所有Oracle客户在他们电子商务应用中学习和开发Oracle的投资。所有单节点数据库功能都保留下来,并且应用程序使用相同标准的Oracle接口连接到数据库上。3.1可伸缩性基于RAC的电子商务应用的用户或者中间层应用服务器客户,可以通过虚拟数据库服务名连接到数据库上。Oracle在集群中多个节点之间自动平衡用户负载。不同节点上的RealApplicationClusters数据库实例预订所有数据库服务或者部分子集数据库服务。这使得DBA高度灵活地选定,连接到特定数据库服务的特定应用程序客户是否可以连接到某些或者全部的数据库节点。虽然每一个节点有一个不同的物理IP地址时,应用客户仍可以在一个逻辑数据库服务名的水平上进行连接。因此客户端对于不相关的事情如多服务器的多个地址可以毫不关心。随着业务的增长,电子商务可以从容地增加处理能力。CacheFusion体系结构直接地利用新节点的CPU和内存资源。DBA无需用手工对数据重新分区。这个优点是这种体系结构的副产品,因为有透明度的数据存取是CacheFusion的一项基本功能。CacheFusion体系机构自动适应快速变化的电子商务需求及随之而来的工作负荷的改变。DBA也不必因为工作负荷变化而对数据进行手工的重新分区。RealApplicationClusters通过动态地重新分配数据库资源,从而在节点之间用昀小化的磁盘I/O和低的延迟通信来优化利用集群系统资源。这使得RealApplicationClusters可以从容实现增加的应用吞吐量和优化的响应时间。3.2高可用性RealApplicationClusters提