OracleRAC技术概述及应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并行查询选件结合,它还提供了节点间的并行性和节点内的并行性,以得到更高的性能。
多服务器的Cluster(集群)结构,因其具有高可靠性、大容量共享磁盘支持以及无断点的故障恢复,越来越受到业界的关注,越来越多的硬件厂商都相继推出自己的Cluster机种和机型,它已经成为硬件平台的一个新的发展方向。Oracle Real Application Clusters使得企业可以构建支持多个操作系统的服务器,并可提供出色的可用性和可伸缩性。在Oracle Real Application Clusters环境中,Oracle可在一个集群中运行于两个或更多个系统之上,并可以同时访问一个共享数据库。这使得一个数据库系统可以跨越多个硬件系统,同时对应用
程序而言仍是一个统一的数据库系统,从而为您的应用程序带来出色的可用性和可伸缩性优势。
Oracle Real Application Clusters支持企业网格。企业网格由大量标准化商业组件构成,包括:处理器、服务器、网络和存储设备。RAC是唯一一种可将这些组件整合成可供企业使用的技术。Oracle Real Application Clusters和网格能够动态降低运营成本,并可带来出色的灵活性,从而赋予系统更优异的适应性、前瞻性和灵活性。节点、存储设备、CPU和内存的动态供应使得企业可以在轻松高效地维持服务等级的同时,通过改进利用率进一步降低成本。此外,Oracle Real Application Clusters支持任意需要访问 RAC数据库的应用,使它们无需修改便可部署于 RAC 系统之上。
Oracle Real Application Clusters使得用户可以根据容量需求的增长为集群
Oracle RAC技术概述及应用
荣伟铭 苏州市吴中区劳动和社会保障局
笔者从事社保信息系统开发工作多年,社保信息系统建设离不开大型数据库,有人把SQL SEVER比作是“傻瓜相机”,那么ORACLE就是台“专业相机”,Oracle RAC如同是将多台“专业相机”联网使用,虚拟成一台性能更加出色的“高级相机”,要用好这台“高级相机”,用户必须充分理解其原理。目前有关ORACLE的参考资料很多,但是有关Oracle RAC的介绍往往一笔带过,以下笔者将多年的Oracle RAC实际应用经验整理了一下,供同行们参考。
一、Oracle RAC 技术概述
Real Application Cluster为大多数关键业务要求的数据库环境提供了极高的性能和完善的纠错功能,允许集群系统或大型并行系统中的多个节点共享同一物理数据库,可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。它还显著地提高了大型数据仓库和决策支持系统的性能。通过与
添加节点,从而能够通过逐步扩充来节约成本,同时消除了使用大型集群来更换小型单一节点系统的需要。标准低成本组件和模块化磁盘阵列组成的网格池,与Oracle数据库的组合,使得这一解决方案更为强大。与使用新的更大型节点来更换现有系统与升级系统不同,该解决方案支持为集群添加一个或多个节点,从而使得容量升级流程更为方便快捷。Oracle Real Application Clusters中实施的高速缓存合并技术,与Oracle数据库中提供的InfiniBand支持,使您能够以近线性方式扩展系统,而无需对应用进行任何修改。
这一集群体系结构的另一个主要优势是多个节点内建的容错性能。由于物理节点单独运行,因此其中一个或多个节点的故障将不会影响到集群内其它节点。故障切换可在网格内任一节点上进行。即使在最恶劣的情况下,包括只有一个节点没有停止工作,Oracle RealApplication Clusters仍将能够提供数据库服务。这一体系结构允许将一组节点联网或与网络断开,以进行维护,而同时其它节点能够继续提供数据库服务。RAC借助Oracle应用服务器,为连接池故障切换提供了内置的集成特性。借助这一特性,应用可立即了解发生的故障,而无需等待数十分钟直到发生TCP超时故障。鉴于此,应用将可以立即采取相应的恢复措施;同时网格负载均衡将重新分配负载。
Oracle数据库中的Oracle RealApplication Clusters还提供一套完整的集群件集来管理集群。Oracle数据库集群件提供运行集群所需的全部特性,包括节点成员、消息发送服务和锁定等。同时由于它是一个带有通用事件和管理 API的
完全集成系列,因此可使用 Oracle的企业管理器统一进行管
理。您将无需购买其它软件来支持集群,进而减少了由于产品
兼容性所导致的问题。它还提供了相同的界面,能够在采用
Oracle数据库的所有平台上以相同的方式进行管理。Oracle还继
续支持与 RAC一起使用的第三方集群件。
RAC还支持一种全新的抽象,称为服务。服务代表了数据库
用户或应用程序类。商业政策在制订后,将自动应用于这些服务,
以执行诸如在峰值处理时间分配节点或自动处理服务器故障等任
务,确保了应用程序能够及时获得所需系统资源,以实现业务目
标。并行硬件系统采用了成本较低的商业组件,可为数据密集型
决策支持应用程序带来比传统大型机系统更优异的性价比优势。
紧密耦合对称多处理系统(SMP)是最广泛应用的并行硬件系统。
这些系统采用多个处理器,它们共享通用内存和磁盘资源,因此
也称作“完全共享”系统。SMP系统的主要优势包括简单的应用
开发和便捷的管理。然而,这些系统不能提供任何内建的容错性
能,任何一个关键组件发生故障,如CPU,都将导致整个系统瘫
痪。此外,由于可用系统总线带宽和操作系统软件可伸缩性方面
的问题,它们在可伸缩性和扩展方面也受到了一定的限制。
二、Oracle RAC的具体使用
笔者所建系统的硬件配置情况如下:
一台Alpha Server ES47、一台Alpha Server ES40、一
台MSA1000磁盘阵列组成双机集群,具体配置如下:
Alpha Server ES47:(sever A)
4个1GHZ CPU
8GB RAM 2块36GB SCSI硬盘
1块光纤网卡 1块100M网卡
1块内存通道卡
DVDROM
Alpha Server ES40:(sever B)
2个667MHZ CPU
8GB RAM
2块36GB SCSI硬盘
1块光纤网卡
1块100M网卡
1块内存通道卡
DVDROM
存储(data)
MSA1000磁盘阵列柜
32块73GB SCSI硬盘
在Cluster (集群)多机系统平台上,常用的高可用性技术有
两种:双机热备份和并行服务器。
双机热备份
这两种方式采用的机制不同,实现的效果也不同。Real
Application Cluster实现的是并行服务器方式。
如图1所示,在双机热备份方式下,数据库系统平时只能
在一台服务器(例如服务器A) 上运行,另一台服务器无法直接访
问数据库,自然也无法进行负载分担。当服务器A由于故障失
效时,由相应的操作系统软件控制,将服务器A管理的存储设
备(如硬盘)转交给服务器B控制,同时在服务器B上启动另一个
数据库进程,管理数据库。这种切换并启动新的数据库核心的
过程一般需要几十秒到几分钟。
这种方式的主要缺点在于:
由于需要重新启动数据库核心进程,无法保证数据库系统连
续不间断地运行
在系统切换的过程中,客户端与服务器之间的数据库连接会
中断,需要重新进行数据库的连接和登录工作
由于数据库系统只能在一台服务器上运行,另一台服务器无
法分担系统的负载,实际上造成了客户投资的浪费。在有些系统
中,为了解决双机负载分担的问题,将应用系统人为分割为两个
数据库系统,分别在两台服务器上运行。这种方式在一定程度上
解决了负载分担的问题,但给系统管理、统计分析等业务处理带
来了很多额外的复杂性。
双机热备份
双机组成集群(Cluster),并行工作,并安装Oracle 9i及
RAC。
在并行服务器方式下,两台(或多台)服务器上各自运行一个
数据库核心进程,但共同管理、操作一个数据库。客户端无论
连接到哪个服务器都可以在数据库中进行操作。当服务器A由于
故障失效时,数据库系统本身并未停止工作,连接在服务器B
上的客户端还可以继续进行正常工作。同时,服务器B上也不
需要再启动新的数据库服务器进程,因此也没有“切换时
间”。
对于一些特殊应用中严格要求前端应用不能中断的情况,
Oracle并行服务器还提供了一种“预连接(pre-connect)”方式,
以这种方式连接的客户端当服务器端发生故障时,客户端与数据图1 双机热备份方式并行服务器(Real Application Cluster)方式