搭建Oracle高可用数据库环境

来源: 作者:IT168 Piner 2007-11-10 出处:pcdog.com

access  oracle  oracle数据库  sas  安全  
上一页 1 2 3 4 下一页 

二、Oracle高可用相关功能的产品概述
因为高可用的范围定义太广泛,本文我们只讨论与Oracle数据库有关系的高可用设计,如数据库主机的错误,数据所在的存储错误,介质损坏以及主机与数据的冗余保护等等,并不讨论应用层的设计,
Oracle 提供支持high availability 相关产品主要有下面几种:
(1) Oracle Parallel Server(8i)/ Real Application Cluster(9i/10g)
(2) Oracle Standby Database(8i)/Oracle Data Guard(9i/10g)
(3) Oralce Advanced Replication(8i)/Oracle Stream(9i/10g)
(4) Oracle Server HA
(5) Other: Mv/RMAN/Oracle Log Miner/Oracle Flashback Query(9/10gi)
等等,还有其他很多小的功能,如在线表的重定义,新的安全审计功能等,也都是为在线系统而设计的,但是,我们这里主要只考虑构架方面的高可用设计,也就是与成本有关系的高可用设计,怎么样达到成本与收益的最大平衡。
所以,我们将主要讨论的是Oracle OPS/RAC、Standby/Ddata guard、Advanced Replocation/Stream以及与Oracle Server相关的OS HA(双机)。
1、OPS /RAC
OPS/RAC 最原始的设计初衷就是system/application high availability。与其他产品相比较: OPS/RAC 是多个服务器的cluster,组成具有更大计算处理能力与故障处理能力的集群。cluster 里面不同的 node 使用一个(一般是一个)或多个oracle instances 与一个database 连接(Shared Storage)。
主要的技术特点:
(1) database 所有的data files 是建立在共享存储(Shared Storage)上面的,一般可以采用raw设备,共享文件系统或者是ASM(10g提供),因此在技术方面对OS 的设置有很高的依赖性,需要有OS支持的cluster软件。
(2) OPS/RAC在共享存储方面并没有冗余保护,不具备在共享存储阵列损坏的情况下具有切换的能力,因此 media failure 方面,要依靠RAID (redundant array of inexpensive disk) Subsystem、LV镜相(LV Mirror)、卷复制(Volume Replication)或者是Standby/Data guard来实现数据的冗余保护。
(3)该技术是Oracle近来主推的技术,特别是10g以后的网格计算与线型扩展能力,在电信、移动、银行行业使用广泛。如果还是老的OPS,则不建议再使用,但是9i以后的Rac技术逐渐成熟,可以使用在高可用环境下,但是其管理成本与技术的复杂性,则也是需要考虑的。
2、Advanced Replication /Stream
Advanced Replication 的设计初是分散异地的application access database locally。这种技术可以将一个数据库中的objects复制到另一数据库中。如果是整个数据库的复制,也可用于高可用环境。
从Oracle 9i开始,Oracle更倾向使用Stream的技术,通过对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现对数据库的objects甚至整个数据库的同步。
主要的技术特点:
(1)技术相对灵活,可以对单独的object,或者是整个数据库进行复制,而且作为stream,复制的压力更小,对主库没有压力,着名的复制软件share plex就是采用类似的技术进行数据的复制的。
(2)可以实现数据库主机以及共享存储的完全冗余保护,甚至是跨地域的容灾保护,在很多比较大型的在线系统中,可以用该技术实现系统的读写分离,通过该技术把写站点的数据复制到多个读站点,大大提高系统的可用性与安全性。
(3)因为Advanced Replication与Stream的不成熟性与技术复杂性,该技术没有被广泛的使用,但是其对应软件share plex使用还是瞒广泛的,不过因为其昂贵的价格,则是需要考虑其搭建成本的。
3、Standby/Data Guard
Standby database/Data guard是ORACLE推出的一种高可用性数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。
Oracle从7.3才开始支持standby database。在9i开始,发展为data guard,并支持MAXIMIZE PROTECTION、MAXIMIZE AVAILABILITY、MAXIMIZE PERFORMANCE的三种保护模式,可以实现自由的手工主备切换,实现高可用的条件,如果配置合理,可以实现部分的自动切换。
从Oracle 9i开始,也开始支持逻辑standby,逻辑standby的原理跟Stream复制相差不大,可以归结到Stream中。
主要的技术特点:
(1)可以实现数据库主机以及共享存储的完全冗余保护,该冗余甚至可以跨地域,做成容灾保护,另外,主节点必须运行在归档模式下,并且可能要force logging,保证备用节点的数据正确性。
(2)主备用节点对OS的环境要求比较高,必须要是相同的OS环境(相差一定的beta版本一般关系不大),而且数据库环境最好也一致。
(3)除了最大保护模式外,其它模式下如果主站点的存储损坏而导致备用站点进行失败切换的时候,需要注意数据的丢失问题,务必同步完主站点当前的联机日志。
(4)备用节点的主机与存储基本不能提供访问,仅仅能提供只读查询,所以该技术也有严重的资源浪费,不过该技术因为成本比较低,管理方便,技术成熟,所以被广泛使用。
4、OS相关HA
Oracle Server HA是基于OS的技术,采用OS支持的Cluster Soft来保证主机的冗余保护,跟Rac一样,不能保证共享存储的高可靠性。
它的基本架构共分两种模式:双机互备援(Dual Active)模式和双机热备份(Hot Standby)模式,对于Dual Active模式,双机都是正常工作的,但是工作业务不同,在一个主机故障时,切换到另外一个主机上;Hot Standby模式则只有一个机器工作,另外一个机器处于接管状态。
不管是哪种模式,Cluster都可以正确的检测到系统异常并自动进行失败切换,如果是Dual Active模式,则需要注意当两个业务都切换到一个server上的时候,该机器是否能承载双份的压力。
主要的技术特点:
(1)与Rac一样,database 所有的data files 是建立在共享存储上面的,存储的冗余保护则需要依赖其它技术。
(2)HA的技术简单成熟,所以在实际使用中,也能被广泛采用,但是,对主机资源的浪费也最为严重,基本上要保证有对等的资源处于等待状态。
更多内容请看PCdog.com--数据库体系架构  数据库相关文章专题
上一页 1 2 3 4 下一页 
上一篇:快速掌握Oracle数据库中的Copy命令
下一篇:Oracle 9i审计技术应用详解