Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1013408
  • 博文数量: 584
  • 博客积分: 2293
  • 博客等级: 大尉
  • 技术积分: 3045
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-28 11:15
文章分类

全部博文(584)

文章存档

2012年(532)

2011年(47)

2009年(5)

我的朋友

分类:

2012-03-08 21:13:59

      可以这么说,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方式的。

说到数据迁移时的初始化装载,GoldenGate提供了专门的工具Initial Load,我们也已经经过测试,是可以实现大部分数据的正确迁移的,但是需要所有的表都有主键这是要格外注意的,另外,对long和lob数据类型以及嵌 套表的迁移有问题,需要其他方式去解决,对sequence也有问题,关于这个后面会有一个迁移的案例进行总结。对于初始化装载来说,可以选择的方式很 多,可以选择rman,可以选择datapump,也可以使用GoldenGate自己的初始化装载工具Initial Load,我们需要知道它们的区别,来满足不同的需求:

1、rman速度最快,但跨平台和版本有问题,而且操作时需要停库;

2、datapump速度较慢,可以跨平台和版本,但操作时也需要停库;

3、GoldenGate的Initial Load,速度慢,可以跨平台跨版本,不需要停库,可以在线进行。

因此,如果你的生产数据库面临数据迁移的问题,而又只有很少的停机时间,那么你可以选择GoldenGate的Initial Load来实现初始化装载,因为装载的时间就算非常长,但是不影响你的生产数据库的使用,应该都是可以接受的。而如果你的生产数据库有足够的停机时间,那 么毫不犹豫的选择rman来实现初始化装载吧,当然,平台要支持才行。

不是说我们为什么总要去关注GoldenGate的使用和发展,而是有时候确实有很多数据迁移与复制方面的需求,在严格限制停机时间的情况下,我们 需要有这样一个经得起考验的工具来实现,当然,这样的工具其他厂商也有一些,但是大部分都是通过底层去调用并行datapump去实现的。

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