dataguard,stream replication,advanced application比較

    最近公司想对深圳,武汉两地做oracle的异地备援, 目前有三种选择方向dataguard,流复制和高级复制,现分别比较一下祂们的优劣。

 

        dataguard在高可用及容灾方面一般是dba的首选,毕竟dataguard在这方面存在压倒性的优势,不管是物理备用库(physical standby database)还是逻辑备用库(logical standby database),它们都具有一些共同的待征。

      配置和管理方面的成本:dataguardstream replication简单方便;
      安全与稳定方面的成本:dataguardstream replication稳定可靠。

    对于一个24x7的系统来说,这些是非常重要的,系统宕机时间的增加不仅影响着公司的形象,还会影响公司的效益;采用dataguard,数据的安全性相当有保障,物理备用库可以在最短的时间完成故障切换,逻辑备用库在保障数据安全的同时,也可以承担大量的报表等业务;由于dataguard的配置与管理比较简单,同理也降低了dba的工作强度;那什么情况下选择使用stream replication呢?

       局部复制 stream可以只复制某些表或某些模式
       异构环境 充分利用现有的设备与技术
       远程容灾 stream对网络的要求较dataguard


         stream replication

有灵活的复制策略,不仅可以配置只复制某些表,还可以配置仅复制某些表上的 ddl dml ,相比 dataguard 必须整个数据库复制而言,可以节省相当的存储投资,毕竟对于某些海量数据而言,有许多是不必要复制的。


     如果在异构环境,即不同的操作系统,那 dataguard 将会束手无策,非 stream replication 莫属,这样可以充分利用现有的环境,配置高用可方案,在异构环境, stream replication 将会是 advanced replication 的强劲对手。


           stream replication

传播的是经过 logmnr 挖掘并包装的逻辑改变记录( LCRs ),相比 dataguard 传送 archived redo log advanced replication mview log mview 刷新的方式, stream replication 对网络的需求降低了很多,在远程异地容灾的过程中,租用网络带宽是一笔较高的费用, stream replication 可以适当地降低这笔费用。


          advanced replication

相对于 dataguard ,缺点是:配置与管理较复杂、安全与稳定性不够;优点:局部复制、异构环境等。 advanced replication 是一种相当成熟的技术,在许多关键系统中得到成功的运用,相对于 9iR2 推出的 stream replication 而言,双方适用的环境虽然相当,比如都可以进行局部复制、异构复制、远程容灾等, advanced replication 目前在稳定性与安全性方面更经得起考验。


     对比 stream replication advanced replication 底层的实现技术, stream replication 在实时性、稳定性、高效率、低消耗(较少的 cpu/network 资源)等方面更有优势,但凡一些新推出的功能,都或多或少存在一些不确定的因素。


      在 10gR1 中, oracle 针对目前 stream replication 存在的弱点进行了增强,不仅提供了从 advanced replication 迁移到 stream replication 的脚本,还提供了 stream replication 的配置与监控工具, stream replication 在配置与管理方面必将智能化、简单化,担负起与 shareplex 争夺企业数据复制市场的重任。


      综上所述, oracle 在数据复制方面, dataguard advanced replication stream replication 都有自己的特点及独到的地方,做为 dba ,用什么样的方案取决于目前的设备环境、业务需求、将来的发展趋势以及已经成熟的技术。当然,对于已经选择的数据复制方案,技术上必须有一定的掌握;毕竟所有的方案都不是没有问题的,即使目前较安全、稳定、便于管理的 dataguard ,也会出现一些莫明其妙的事情,所以最好做到良好的监控,预防可能存在的问题,问题一旦发生,能快速地解决问题。

    高级复制与 Streams Replication 的原理是完全不同的, Streams Replication 可以到表,用户,数据库级别,但高级复制似乎只能到表一级。
Streams Replication
不是高级复制的升级版。

    异构环境下, oracle 的高可用和容灾有高级复制和 stream 复制两种,两种的异同点如下:


1
.高级复制是基于触发器(trigger)原理,而stream是基于日志挖掘原理,因此stream复制对源数据库的性能影响更小,但实时性不如高级复制。
2
.高级复制复制的对象是基于数据库目标(object)的,如表、索引和存储过程,而stream复制可以针对表、方案(schema)和整个数据库,因此如果出于容灾整个数据库的考虑,stream复制的配置相对简单。
3
.高级复制是一种相当成熟的技术,在许多关键系统中得到成功的运用,相对于9iR2推出的stream复制,高级复制目前在稳定性与安全性方面更经得起考验。
4
.从发展的角度看,流的应用会越来越多,从oracle10goracle公司提供了从高级复制向流复制移植的工具,可以看出,oracle公司会更偏重于基于流的新技术。
5
.由于高级复制是基于触发器的,因此所有的复制对象结构(ddl)的改变,都必须通过oracle提供的复制包来实施,和应用结合的比较紧,更适合于开发者使用,而流复制则更适合dba来实施。

         stream
对系统的设计与维护方要有相当的对stream技术的把控能力,而大多数系分与DBA对这个东西都没有经验,所以难以推广;dataguard胜在维护简单可靠,一般dba都可以维护。stream以后会的前景会非常广阔! 尤其是双向复制,解决了很多实际问题。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9902302/viewspace-702251/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9902302/viewspace-702251/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值