
在Oracle中,RAC有哪些优缺点?
RAC(Real Application Clusters,实时应用集群)是Oracle数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。如何在一个7*24的系统上实现数据库的高可用性呢?RAC就是最好的解决方案,RAC也成为高级DBA的必备技能之一。
从Oracle 9i版本开始就支持RAC了,可以支持7*24有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在Oracle9i之前,RAC称为OPS(Oracle Parallel Server)。RAC与OPS之间的一个较大区别是,RAC采用了Cache Fusion(缓存融合)技术,节点已经取出的数据块更新后没有写入磁盘前,可以被另外一个节点更新,然后以最后的版本写入磁盘。在OPS中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。使用Cache Fusion时,RAC的各个节点间数据缓冲区通过高速、低延迟的内部网络进行数据块的传输。在Oracle RAC环境下,Oracle提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。
1、优点
① RAC是一种双机并行模式,并非主备模式。也就是说,RAC集群的所有成员都可以同时接收客户端的请求。所以,RAC实现了容错、单点故障解决(如果有节点挂掉,那么其它节点可以继续提供服务)和多节点负载均衡(不同节点可以相互配合,分担负载)。
② 提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化,能够保证在集群中只要有一个节点存活,就能正常对外提供服务。
③ 通过并行执行技术提高事务响应时间,通常被用于OLAP系统。
④ 通过横向扩展提高每秒交易数和连接数,通常被用于OLTP系统。
⑤ 扩展了机器的负载能力,节约了硬件成本,可以用多个廉价PC(Personal Computer)服务器代替昂贵的小型机或大型机,同时节约相应维护成本。
⑥ 易伸缩、可扩展性好,可以方便添加、删除节点,扩展硬件资源。
⑦ 实现了业务分割处理。
⑧ 低成本。能使用较低廉的服务器来实现高可用性、高吞吐量的集群环境,这要比通过对某台高端服务器增加硬件实现高可用性、高吞吐量花费的成本低很多。
⑨ 高吞吐量。随着节点数的增加,整个RAC的吞吐量也在不断增长。
2、缺点
① 相对单机,由于底层技术复杂,所以,管理更复杂,对DBA的技术要求更高。
② 可能会增加软件成本(如果使用高配置的PC服务器,那么Oracle一般按照CPU个数收费)。
③ 在RAC系统规划设计较差时性能可能会不如单节点,存在资源争用(Cache Fusion)。
3、RAC的特点如下:
① 每一个节点的实例都有自己的SGA。
② 每一个节点的实例都有自己的后台进程。
③ 每一个节点的实例都有自己的联机Redo日志文件。
④ 每一个节点的实例都有自己的Undo表空间。
⑤ 所有节点都共享一份Data Files和Control Files。
& 说明:
有关RAC的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2141231/
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

---------------优质麦课------------

详细内容可以添加麦老师微信或QQ私聊。

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 提供OCP、OCM和高可用部分最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。







