Oracle数据库开发三种复制技术之比较
小标 2018-02-02 来源 :网络 阅读 2042 评论 0

摘要:Oracle数据库开发的三种复制技术对比,详情如下:

oracle三种复制技术之比较    

开发的三种复制技术对比,详情如下:

一 dataguard:

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

配置和管理方面的成本:dataguard比stream replication简单方便;

安全与稳定方面的成本:dataguard比stream replication稳定可靠。


二 流复制:

适用于如下情况:

1、局部复制 stream可以只复制某些表或某些模式

2、异构环境 充分利用现有的设备与技术

3、远程容灾 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对网络的需求降低了很多,

三 高级复制:

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争夺企业数据复制市场的重任。

四 高级复制与流复制区别

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

Streams Replication不是高级复制的升级版。

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

1.高级复制是基于触发器(trigger)原理,而stream是基于日志挖掘原理,因此stream复制对源数据库的性能影响更小,但实时性不如高级复制。

2.高级复制复制的对象是基于数据库目标(object)的,如表、索引和存储过程,而stream复制可以针对表、方案(schema)和整个数据库,因此如果出于容灾整个数据库的考虑,stream复制的配置相对简单。

3.高级复制是一种相当成熟的技术,在许多关键系统中得到成功的运用,相对于9iR2推出的stream复制,高级复制目前在稳定性与安全性方面更经得起考验。

4.从发展的角度看,流的应用会越来越多,从oracle10g,oracle公司提供了从高级复制向流复制移植的工具,可以看出,oracle公司会更偏重于基于流的新技术。

5.由于高级复制是基于触发器的,因此所有的复制对象结构(ddl)的改变,都必须通过oracle提供的复制包来实施,和应用结合的比较紧,更适合于开发者使用,而流复制则更适合dba来实施。

6. 流复制支持双向数据复制,而高级复制会有冲突;

7. 流复制支持异构数据库复制,而没有资料说明高级复制也有相同功能;

Oracle数据库开发中的两种实际使用来看,streams复制需要更少的带宽,2m带宽,如果 streams复制不行,高级复制大概更没戏,但是用streams最好别网络断线时间过长,不知道是bug还是oracle没考虑这种情况,如果复制停 顿一段时间,再恢复正常,大概是队列表中消息太多了,入队出队都很慢,非线性增长啊,这样就需要不短的一段时间来同步数据,高级复制就没这种状况。

了解更多Oracle数据库开发相关内容请关注职坐标Oracle数据库频道。


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程