goldengate,datagard,流复制,高级复制的区别

转载自:http://www.dataguru.cn/thread-296518-1-1.html


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

2、Dataguard、stream replication和goldengate
Dataguard 要求相同的服务器平台(服务器)和相同的操作系统和相同的数据库版本。
配置和管理方面的成本:dataguard比stream replication简单方便;
安全与稳定方面的成本:dataguard比stream replication稳定可靠。
局部复制 stream可以只复制某些表或某些模式
异构环境充分利用现有的设备与技术
远程容灾 stream对网络的要求较dataguard低

stream replication有灵活的复制策略,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml,相比dataguard必须整个数据库复制而言,可以节省相当的存储投资,毕竟对于某些海量数据而言,有许多是不必要复制的。
如果在异构环境,即不同的操作系统,那dataguard将会束手无策,非stream replication莫属,这样可以充分利用现有的环境,配置高用可方案,在异构环境,stream replication将会是advanced replication的强劲对手。
stream对系统的设计与维护方要有相当的对stream技术的把控能力,而大多数系分与DBA对这个东西都没有经验,所以难以推广;dataguard胜在维护简单可靠,一般dba都可以维护。stream以后会的前景会非常广阔! 尤其是双向复制,解决了很多实际问题。

GoldenGate是Oracle在数据迁移和数据同步方面要重点发展的产品,当然支持异构是其较大亮点。与Dataguard对比,GoldenGate在战略上是更高层次的产品,这点从GoldenGate的购买中甚至包含Dataguard的License就可见一斑,从功能上来说,GoldenGate针对Dataguard的较大优势当然是支持异构,但是,GoldenGate也不会取代Dataguard,原因很简单,Dataguard支持同步复制,而GoldenGate从原理上来说实现不了,因此,这两个产品都会持续发展下去,但从重要性来讲,GoldenGate的发展要重要于Dataguard的发展,事实上,Dataguard也已经很成熟了,而GoldenGate发展空间巨大,至少从配置管理上来说,纯命令行方式早晚会被取代,可以持续改进的东西有很多。

而针对stream复制,GoldenGate的优势就太多了,不说支持异构平台了,首先它的性能非常卓越,通过解析日志的内容来同步数据,效率非常高,不依赖于数据库的运行,而stream复制,我们知道,要用到stream_pool_size的内存区域,依赖数据库的性能,并且会产生很多stream相关的等待事件,而stream复制相对GoldenGate的优点,只剩下配置简单这一点。可以这么说,对于小数据量的同步,可以选择stream复制来实现,因为配置较为简单,而对于大数据量的同步复制,应该选择GoldenGate,因为性能优越,而且经得起考验,抗压性强。当然,不管数据量的多少,在性能方面,GoldenGate都是远远高于stream方式的。

数据迁移时的初始化装载,G oldenGate提供了专门的工具Initial Load,我们也已经经过测试,是可以实现大部分数据的正确迁移的,但是需要所有的表都有主键这是要格外注意的,另外,对long和lob数据类型以及嵌套表的迁移有问题,需要其他方式去解决,对sequence也有问题,关于这个后面会有一个迁移的案例进行总结。
对于初始化装载来说,可以选择的方式很多,可以选择rman,可以选择datapump,也可以使用GoldenGate自己的初始化装载工具Initial Load,我们需要知道它们的区别,来满足不同的需求:
1、rman速度最快,但跨平台和版本有问题,而且操作时需要停库;
2、datapump速度较慢,可以跨平台和版本,但操作时也需要停库;
3、GoldenGate的Initial Load,速度慢,可以跨平台跨版本,不需要停库,可以在线进行。
因此,如果你的生产数据库面临数据迁移的问题,而又只有很少的停机时间,那么你可以选择GoldenGate的Initial Load来实现初始化装载,因为装载的时间就算非常长,但是不影响你的生产数据库的使用,应该都是可以接受的。而如果你的生产数据库有足够的停机时间,那么毫不犹豫的选择rman来实现初始化装载吧,当然,平台要支持才行。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值