Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92603801
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-21 19:02:32

作者: Piner 出处: 
 

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的技术简单成熟,所以在实际使用中,也能被广泛采用,但是,对主机资源的浪费也最为严重,基本上要保证有对等的资源处于等待状态。

三、Oracle高可用相关功能的详细说

1、OPS/RAC

OPS/RAC通过两个或多个节点的cluster,多个节点之间,采用高速通信链路连接,来解决数据库的高可用性,在OPS/RAC中,每个节点都可以被应用端访问并可以自动负载平衡。

如果其中一个节点发生故障,所有的节点将自动切换到另外一个(或几个)节点上。可以实现动态应用的切换以及数据库服务器及时的失败处理,在server的高可用方面提供最高保护。

但是OPS/RAC并不对磁盘,阵列提供保护的特性,如果发生介质的物理损坏,将可能导致服务器的宕机。所以我们可以对OPS/RAC进行进一步的保护,如采用好的RAID方式(如RAID 10),也可以在OS层面上对逻辑卷做镜相或者复制,甚至采用RAC+DATA GUARD双重保护。

Rac已经被广泛使用在高可用环境,但是,除了硬件成本,cluster软件成本,我们还需要考虑管理成本。
如以下的一个4节点的Rac结构中,4个节点可以同时被访问,如果其中一个出现故障,该节点上的应用将被自动切换到其它3个节点上,另外,通过SAN的存储网络,实现数据的冗余保护。

图2


阅读(177) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~