来自农村的老实娃
分类: Oracle
2007-05-11 10:03:33
本文档是为了提供关于Oracle9i Real Application Server的产品说明,好处,成功案例等等。
Real Application Cluster(以前称作Oracle Parallel Server,OPS)用来在集群环境下实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的容错和无断点恢复。
Real Application Cluster为大多数关键业务要求的数据库环境提供了极高的性能和完善的纠错功能。Real Application Cluster允许集群系统或大型并行系统中的多个节点共享同一物理数据库。Real Application Cluster可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。它还显著地提高了大型数据仓库和决策支持系统的性能。通过与并行查询选件结合,它还提供了节点间的并行性和节点内的并行性,以得到更高的性能。
多服务器的Cluster(集群)结构,因其具有高可靠性、大容量共享磁盘支持、以及无断点的故障恢复,越来越受到业界的关注,越来越多的硬件厂商都相继推出自己的Cluster机种和机型,它已经成为硬件平台的一个新的发展方向。
Oracle公司在1989年率先推出Parallel Server选件,以支持这种体系结构(Oracle6.2版)。随着Cluster技术自身的成熟,以及Oracle对这一技术的经验,Real Application Cluster目前已能支持几乎所有的Cluster集群系统。在share-nothing或shared-disk模式的集群系统上,Real Application Cluster均可以实现多节点共享数据库,并自动并行处理及均分负载,在数据库故障时进行容错和无断点恢复处理。
Oracle提供一个通用的、集成的分布式锁定管理器(DLM)替代了原来的,由不同操作系统厂商提供的锁管理器,从而提高了在大多数工作平台上的执行性能和可移植性。这些使得Oracle并行服务器的运行速度显著加快。Oracle集成的DLM使Oracle并行服务器能够跨平台工作。
当并行服务器中某节点失效,透明的应用程序容错能够把用户自动转接到另一节点上继续运行,应用程序在用户没有察觉的情况下继续执行。这使周期性和非周期性发生故障的系统增大了连续可用性。进程的失效可以完全透明地转移到另一节点上去,通过适当地配置,可以指定所有查询都在客户端进行缓存,这样它们便可以在转移后的节点上重新设置。同时,还可以在没有失效时预先与容错节点建立一个连接,这样可以减少容错时在连接所花的时间。
Oracle不仅支持第一代、第二代并行处理技术,还最先支持第三代多节点并行处理机。能够在Cluster Mode 3及MPP结构的各节点上实现并行处理,均分负载。Oracle并行处理技术的另一大优势在于,无论在任何平台上,从单机到并行处理机,从OLTP应用到OLAP应用,Oracle数据库均为同一核心,因此在不同平台之间应用系统可平滑移植,提高了开发效率,降低了维护费用。目前,Oracle并行服务器技术在业界处于绝对领先地位,已在全球数千个实际应用系统中运行,经过十多年的不断完善和发展,其可靠性及稳定性已得到彻底检验。
在Oracle 9i的Real Application Cluster技术中,全面采用了Oracle独特的Cache Fusion(缓存熔合)技术,消除了多台服务器争用数据时产生的碰撞(Ping)现象,极大的提高了Cluster系统的可扩展性。使Cluster系统可以支持更多的节点,而且数据库应用完全不需要做任何复杂的修改或特殊设计就可以良好的运行在Cluster系统上,并且充分发挥多节点的处理性能。
在Cluster (集群)多机系统平台上,常用的高可用性技术有两种:双机热备份和并行服务器。这两种方式采用的机制不同,实现的效果也不同。Real Application Cluster实现的是并行服务器方式。
双机热备份方式
如上图所示,在双机热备份方式下,数据库系统平时只能在一台服务器(例如服务器A) 上运行,另一台服务器无法直接访问数据库,自然也无法进行负载分担。当服务器A由于故障失效时,由相应的操作系统软件控制,将服务器A管理的存储设备(如硬盘)转交给服务器B控制,同时在服务器B上启动另一个数据库进程,管理数据库。这种切换并启动新的数据库核心的过程一般需要几十秒到几分钟。采用双机热备份的平台很多,例如HP MC/Service Guard等。
这种方式的主要缺点在于:
l 由于需要重新启动数据库核心进程,无法保证数据库系统连续不间断地运行
l 在系统切换的过程中,客户端与服务器之间的数据库连接会中断,需要重新进行数据库的连接和登录工作
l 由于数据库系统只能在一台服务器上运行,另一台服务器无法分担系统的负载,实际上造成了客户投资的浪费。在有些系统中,为了解决双机负载分担的问题,将应用系统人为分割为两个数据库系统,分别在两台服务器上运行。这种方式在一定程度上解决了负载分担的问题,但给系统管理、统计分析等业务处理带来了很多额外的复杂性
并行服务器(Real Application Cluster)方式
在并行服务器方式下,两台(或多台)服务器上各自运行一个数据库核心进程,但共同管理、操作一个数据库。客户端无论连接到哪个服务器都可以在数据库中进行操作。当服务器A由于故障失效时,数据库系统本身并未停止工作,连接在服务器B上的客户端还可以继续进行正常工作。同时,服务器B上也不需要再启动新的数据库服务器进程,因此也没有“切换时间”。
对于一些特殊应用中严格要求前端应用不能中断的情况,Oracle并行服务器还提供了一种“预连接(pre-connect)”方式,以这种方式连接的客户端当服务器端发生故障时,客户端与数据库服务器的连接不会中断,会被Oracle并行服务器软件自动转接到还在正常工作的其它服务器上,不需要重新输入用户名及口令。
同样有许多操作系统平台支持并行服务器方式的高可用性方案,例如HP MC Service Guard OPS Edition等。
与双机热备份方式相比,Oracle9i Real Application Cluster 并行服务器方式有以下优点:
l 各服务器共享一个数据库,在正常运行时可以进行负载分担,无需考虑应用数据的人为分割
l 并行服务器方式对应用完全透明,在应用程序设计和开发的过程中也不需要进行特殊编程,简化了开发的复杂程度,同时今后系统扩展也无需修改应用程序
l 不需要重新启动数据库核心进程,缩短了故障造成的停机时间
具有Cache Fusion体系结构的Oracle Real Application Clusters为企业电子商务应用开发提供了以下好处:
l 电子商务应用的灵活和毫不费力的伸缩性;应用用户可以登录到单独的虚拟高性能集群服务器。向数据库添加节点非常容易,并且当需要添加处理器节点或者业务需求变化时,不用手工对数据进行分区。对于所有的应用即时提供集群的可伸缩性--不用修改应用程序。
l 较之传统集群数据库体系结构的高可用性解决方案;该体系结构为客户提供了几乎连续的数据访问,使硬件和软件故障导致的业务中断最小化。系统具备对多个节点失败的容错能力,使部件失败屏蔽开最终用户。
l 单独的管理实体;为了进行所有管理操作,在集群中保持一个单独的系统映像。DBA一次性地进行安装、配置、备份、升级以及监控等功能,然后Oracle将管理功能自动分配到适宜的节点。这意味着DBA只管理着一个 虚拟服务器。
l Cache Fusion保存了所有Oracle客户在他们电子商务应用中学习和开发Oracle的投资。所有单节点数据库功能都保留下来,并且应用程序使用相同标准的Oracle接口连接到数据库上。
基于RAC的电子商务应用的用户或者中间层应用服务器客户,可以通过虚拟数据库服务名连接到数据库上。Oracle在集群中多个节点之间自动平衡用户负载。不同节点上的Real Application Clusters数据库实例预订所有数据库服务或者部分子集数据库服务。这使得DBA高度灵活地选定,连接到特定数据库服务的特定应用程序客户是否可以连接到某些或者全部的数据库节点。
虽然每一个节点有一个不同的物理IP地址时,应用客户仍可以在一个逻辑数据库服务名的水平上进行连接。因此客户端对于不相关的事情如多服务器的多个地址可以毫不关心。
随着业务的增长,电子商务可以从容地增加处理能力。Cache Fusion体系结构直接地利用新节点的CPU和内存资源。DBA无需用手工对数据重新分区。这个优点是这种体系结构的副产品,因为有透明度的数据存取是Cache Fusion的一项基本功能。
Cache Fusion体系机构自动适应快速变化的电子商务需求及随之而来的工作负荷的改变。DBA也不必因为工作负荷变化而对数据进行手工的重新分区。Real Application Clusters通过动态地重新分配数据库资源,从而在节点之间用最小化的磁盘I/O和低的延迟通信来优化利用集群系统资源。这使得Real Application Clusters可以从容实现增加的应用吞吐量和优化的响应时间。
Real Application Clusters提供了真正的高可用性解决方案,关键的突破是在大多数数据库恢复期间能提供完整的数据库访问。这使得Real Application Clusters成为电子商务应用所要求的24x7可用性的最佳平台。
Real Application Clusters在高可用性上在三个关键领域胜出:
l 提供了数据库恢复期间的数据块访问
l 透明的失效转移对最终用户屏蔽了系统失效
l N-1节点失效的容错能力
只要有一个数据库节点幸存,Real Application Clusters就能够提供完全的数据库访问和相对不间断的操作。
Real Application Clusters实现了真正意义上的一个单系统访问数据库,它提供了从任何节点到所有磁盘设备和远程高速缓存进行无缝数据访问的能力。此单系统映像延伸到所有数据库管理操作。安装、配置、备份、升级以及监控等操作只需进行一次,然后会自动发布到集群中所有节点上去。各种Oracle工具(如Oracle Universal Installer、Database Configuration Assistant以及Recovery Manager)将发现集群数据块中所有不同的节点并以它们为目标分配给想得到的任务。