2012年08月15日00:05 it168网站原创 做者:刘炳林 编辑:王玉圆html
http://tech.it168.com/a2012/0814/1384/000001384756_all.shtml数据库
不一样的集群产品都有本身的特色,RAC的特色包括以下几点:服务器
·双机并行。RAC是一种并行模式,并非传统的主备模式。也就是说,RAC集群的全部成员均可以同时接收客户端的请求。网络
·高可用性。RAC是Oracle数据库产品高可用性的解决方案,可以保证在集群中只要有一个节点存活,就能正常对外提供服务。架构
·易伸缩性。RAC能够很是容易地添加、删除节点,以知足系统自身的调整。负载均衡
·低成本。能使用较低廉的服务器来实现高可用性、高吞吐量的集群环境,这要比经过对某台高端服务器增长硬件实现高可用性、高吞吐量花费的成本低不少。ide
·高吞吐量。随着节点数的增长,整个RAC的吞吐量也在不断增加。性能
下面详细讨论这五大特色。测试
1、双机并行网站
RAC是一种充分利用服务器资源的高可用性实现方案,RAC的并行模式实现方式与传统的双机热备实现方式大相径庭,图1-4是二者的比较。
如图1-4所示,两个节点在传统的双机热备环境中,始终有一台机器做为备用机,只有当主节点出现问题的时候才会切换到备用机上;若是主机一直没有出现问题,那么备用机始终处于空闲状态,这在资源的利用上以及成本方面都是巨大的浪费。但RAC是一种并行模式的架构,也就是说,两个节点的集群节点间是一种并行运行的关系,当一台机器出现问题,请求会自动转发到另外一台机器,没有任何一台机器做为备用机一直不被使用,这样就充分利用了服务器资源。同时,传统的双机热备构架在出现问题时,经常须要数分钟的切换时间,而RAC在出现问题时,针对存在的会话只须要数十秒的时间就能够完成失败切换过程,对新会话的建立不会产生影响,在切换时间上也有比较大的优点。
▲图1-4 双机热备与RAC并行模式对比
2、高可用性
RAC是Oracle数据库高可用性解决方案。高可用性包含两部分的内容:首先是在这种解决方案下要确保数据不丢失,这是最基础的也是必需要保证的;其次是确保不停机,使Oracle数据库一直维持在正常的运行状态,避免停机给客户带来的损失,这是讨论最多的内容。
停机通常分为两类,计划停机和非计划停机。所谓计划停机是有计划地安排节点或者系统的停机,通常在Oracle升级、系统维护或者硬件维护的状况下会出现。非计划停机就是在非人为计划的状况下忽然停机,这种状况通常是在Oracle bug、系统故障、硬件故障或人为操做失败的时候出现。
在没有较高花费的状况下,想实现系统100%的不停机几乎是不可能的。表1-1列出了特定百分比高可用性比率运行停机的时间,详细记录了每种高可用性比率每一年、每个月、每周能够出现最大的停机时间。
一般状况下,以每个月停机时间来计算对应的可用性比率。根据系统的重要性状况,应该为系统设定合理的可用性比率。
集群最大的优点在于它的高可用性,经过使用RAC能够在必定程度上避免由于硬件或软件故障引发的数据丢失和非计划停机,并在必定程度上减小或排除计划停机时间。这是不少客户选择RAC的最直接缘由。
RAC中包含了很是多的高可用特性,主要包含以下几点:
·实现节点间的负载均衡。
·实现失败切换的功能。
·经过Service组件来控制客户端的访问路径。
·集群软件可以自动化管理各个资源,而且有定时的节点状态检测机制,能自动对一些失败的进程以及心跳检测失败的节点进行重启,使其从新恢复到正常的运行状态。
在Oracle 11gR2版本中,Clusterware获得了改善,提供了更高的可用性。例如,大量新的基于代理的监控系统用于监控全部的资源。这些代理使用更少的资源执行更频繁的检查,即更快速的失败扫描和更短的恢复时间。在Oracle监听的例子中,平均失败扫描时间从5分钟减小到30秒,同时,检查间隔从每10分钟减小到1分钟。另外,Clusterware的“Out-of-Place Upgrade”等特性也减小了软件维护须要的停机时间。
3、易伸缩性
RAC为须要从新规划的应用提供了易扩展性。为了在系统初始阶段保持较低的成本,避免形成没必要要的浪费,集群能够按照标准硬件配置,选择适当的服务器资源、存储资源来搭建数据库环境。当系统须要更多的处理能力或者须要增长存储时,经过添加另外一台服务器或存储设备到集群中,可以在不停机的状况下得到水平的扩展。在一个集群中, Clusterware和RAC支持多达100个集群节点。
当某个集群的处理能力过剩,另外一个集群的处理能力不够时,能够从处理能力过剩的集群移动一个节点处处理能力不够的集群中。这样可以充分利用服务器资源,节约成本。11gR2版本中推出了网格即插即用(Grid Plug and Play,GPnP),能够实现节点的快速添加。
4、低成本
经过多台普通的PC服务器组成一个集群,能够提升集群的处理能力,这样要比采用一台高性能的服务器的成本低不少。若是想提升系统的处理能力,给集群添加节点比为高性能服务器添加硬件要容易得多。另外,使用集群还能动态地移除节点,更加充分地利用管理者掌握的全部服务器资源,从服务器总体使用上下降了服务器的采购成本。愈来愈多的企业愿意将集群解决方案应用到他们的系统中,以下降成本,提升系统的可用性。
5、高吞吐量
RAC是由多台服务器构成的逻辑主体,比单台数据库服务器能接收更多的客户端请求。这在要求高吞吐量的系统中,可以获得很是明显的体现。在RAC的架构中,多个实例分布在多个服务器上,能同时打开同一个数据库,而每一个实例可以接收相等数量的客户端请求,这样,随着服务器的增长,吞吐量也在不断地增长。
在以上讨论的特色中,高可用性是RAC最大的特色。
RAC存在的问题
虽然RAC有很是多的优势,但因为部署一套RAC会涉及服务器、存储设备、HBA卡、操做系统等多方面的技术,且从实现上要比单实例数据库更复杂,对硬件设备的稳定性、设备之间以及设备与操做系统的兼容性上要求也更高,Oracle的bug也会形成RAC运行出现问题。因此,从实际的运行状况来看,RAC要比单实例的数据库存在更多的问题,问题的缘由也各不相同。RAC存在的问题主要体如今稳定性和高性能方面,下面讨论这两个问题。
1、稳定性
数据库的稳定运行是系统稳定运行的基础和前提,数据库的运行依赖于操做系统、服务器、存储设备等软硬件设备的运行状况。
因为各类硬件设备、操做系统的厂商不一样,有时候在兼容性上会存在问题,即便同一个厂商的服务器,因为驱动、固件版本的不一样也可能致使硬件出现问题以及与其余设备的兼容性问题。同时,因为RAC自己也存在很多bug,不少部署的RAC环境缺少在上线前对环境的检查和测试,致使在运行过程当中出现一系列不稳定的状况,这样高可用性并无获得充分的体现。
由此来看,稳定的硬件环境加上稳定的RAC版本,决定着RAC运行的稳定性。数据库工程师与硬件工程师在安装配置前大量的环境检查、验证,以及部署后的大量测试工做都是很是重要的。
2、高性能
高性能也是大部分从单机环境迁移到RAC环境比较头疼的问题,RAC并非高性能的解决方案。在目前广泛使用千兆网络的硬件环境中,不少时候系统的数据库从原来的单机迁移至RAC环境,系统的性能反而降低。在这种状况下,数据库管理员应该根据RAC的特色对系统调整提出合理的建议,通过合理的设计、开发,使用RAC是可以提升系统的处理性能的。
以上两个问题是须要特别注意的。另外,与硬件工程师、系统开发人员进行良好的沟通,以及对系统合理的设计是保证RAC稳定运行和高性能运行的前提。