oracle 收集的一些图

================================================数据库

================================================安全

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

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

对对于一个24x7的系统来讲,这些是很是重要的,系统宕机时间的增长不只影响着公司的形象,还会影响公司的效益;采用dataguard,数据的安全性至关有保障,物理备用库能够在最短的时间完成故障切换,逻辑备用库在保障数据安全的同时,也能够承担大量的报表等业务;因为dataguard的配置与管理比较简单,同理也下降了dba的工做强度;那什么状况下选择使用stream replication呢?
l 局部复制 stream能够只复制某些表或某些模式
l 异构环境 充分利用现有的设备与技术
l 远程容灾 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,也会出现一些莫明其妙的事情,因此最好作到良好的监控,预防可能存在的问题,问题一旦发生,能快速地解决问题。app

高级复制与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来实施。
两种都用了一段时间了,实际使用来看,streams复制须要更少的带宽,2m带宽,若是 streams复制不行,高级复制大概更没戏,可是用streams最好别网络断线时间过长,不知道是bug仍是oracle没考虑这种状况,若是复制停顿一段时间,再恢复正常,大概是队列表中消息太多了,入队出队都很慢,非线性增加啊,这样就须要不短的一段时间来同步数据,高级复制就没这种情况。
bug,反正10,2,0,1有一些,看你碰的到碰不到了,严重的能让你删掉队列表重建才行,意味着基本是重建整个复制了,不过想重复一下又不出现了;还有使用negative rule若是站点多了遇到大的更新事务速度就变得极慢,站点多了要先设计好结构;会不停在有apply进程的站点udump目录下生成trc文件,虽然还算不上很成熟,不过streams复制真是好东西,之后一定会取代高级复制,建议打10.2.0.3补丁,听说修正了很多bug。性能

stream对系统的设计与维护方要有至关的对stream技术的把控能力,而大多数系分与DBA对这个东西都没有经验,因此难以推广;dataguard胜在维护简单可靠,通常dba均可以维护。stream之后会的前景会很是广阔! 尤为是双向复制,解决了不少实际问题操作系统

相关文章
相关标签/搜索