摘自:http://www.cnblogs.com/zeromyth/archive/2009/08/19/1549661.html
Oracle备份功能包括:
高级复制(Advanced Replication)
流复制(Streams Replication)
备库(Dataguard)
一 dataguard:
dataguard在高可用及容灾方面一般是dba的首选,毕竟dataguard在这方面 存在压倒性的优势,不管是物理备用库(physical standby database)还是逻辑备用库(logical standby database),它们都具有一些共同的待征。
配置和管理方面的成本:dataguard比stream replication简单方便;安全与稳定方面的成本:dataguard比stream replication稳定可靠。
对对于一个24x7的系统来说,这些是非常重要的,系统宕机时间的增加不仅影响着公司的形象,还会影响公司的效益;采用dataguard,数据的安全性相当有保障,物理备用库可以在最短的时间完成故障切换,逻辑备用库在保障数据安全的同时, 也可以承担大量的报表等业务;由于dataguard的配置与管理比较简单,同理也降低了dba的工作强度;
二 流复制:
适用于如下情况:
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对网络的需求降低了很多,在远程异地容灾的过程中,租用网络带宽是一笔较高的费用,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. 流复制支持异构数据库复制,而没有资料说明高级复制也有相同功能;
两种实际使用来看,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以后会的前景会非常广阔! 尤其是双向复制,解决了很多实际问题。
分享到:
相关推荐
Oracle Advanced Replication Management是一种强大的工具集,用于管理、监控和优化Oracle数据库中的复制环境。该技术旨在帮助企业级应用实现数据复制的高效性和可靠性,支持多种复杂的业务场景。 #### 核心概念与...
根据提供的文档信息,本文将对Oracle高级复制(Oracle Advanced Replication)进行深入解析,并探讨其在实际应用中的局限性、不同方法以及监控与故障排除等内容。 ### Oracle 高级复制概述 Oracle 高级复制是一种...
Stream Replication 双向复制是一种高级的Oracle数据库复制技术,用于在两个数据库之间实现数据的实时同步。这种复制方式不仅可以确保数据的一致性,还能在主数据库出现问题时提供即时的故障转移能力。以下是对...
Stream Replication与Oracle的其他数据复制技术,如Advanced Replication(包括多主复制和物化视图复制)和Data Guard(物理备用库和逻辑备用库)相辅相成。Advanced Replication中的物化视图复制依赖于Materialized...
Oracle提供了三种复制技术:**高级复制(Advanced Replication)**、**流复制(Streams Replication)**和**备库(Dataguard)**。备库主要用于灾难恢复,这里不作详细讨论。高级复制基于触发器实现,适合复制单个表...
Oracle Database Advanced Replication Management API Reference 11g Release 2 (11.2) 是一本专为数据库管理员和开发人员设计的技术文档,旨在提供有关在Oracle数据库11g版本中管理高级复制功能的API(应用程序...
Stream Replication 是 Oracle 数据库的一种高级数据复制技术,旨在实现高效、灵活的数据共享和同步。在9iR2版本中,Oracle引入了Logical Standby Database和Stream Replication,与Advanced Replication一起,为...
Oracle Database Advanced Replication 11g Release 2 (11.2)还提供了详细的文档和用户指南,帮助管理员配置、管理和维护这些高级复制功能。这个版本不仅增强了数据复制的灵活性和可靠性,而且简化了管理,降低了...
在企业级应用中,为了提高数据的可用性、性能以及实现分布式计算等目标,Oracle 提供了一种名为“高级复制”(Advanced Replication)的技术。该技术利用分布式数据库的概念,使得数据能够在多个站点之间共享。 #####...
在深入探讨如何通过MySQL Replication实现库名修改与单个表的复制之前,我们先来了解MySQL Replication的基本概念及其工作原理。MySQL Replication是一种数据复制机制,它允许从一台服务器(主服务器)向另一台或多...
在企业级应用中,为了提高数据的可用性、性能以及实现分布式计算等目标,Oracle 提供了一种名为“高级复制”(Advanced Replication)的技术。该技术利用分布式数据库技术,在多个站点间共享数据。尽管“复制”与...
物理流复制中有四个角色:主库 backend 进程、主库 WALsender 进程、备库 WALreceiver 进程和备库 startup 进程。主库 backend 进程负责执行用户的 SQL,并记录 WAL 日志。主库 WALsender 进程负责把 WAL 日志发送给...
Oracle 高级复制 (Advanced Replication) 是一种在多个站点间实现数据共享的技术,主要用于提高数据可用性、性能和减少网络负载等目的。本章节主要介绍了 Advanced Replication 的基本概念、应用场景以及一些关键...
在这个“Oracle Advanced Replication Operation”主题中,我们将深入探讨这个强大的工具及其操作流程。 Oracle高级复制包括三种主要类型:完全复制、分区复制和选择性复制。每种类型都有其独特的应用场景和优势。 ...
在Oracle中,复制主要分为三种类型:实时复制(Real-Time Replication)、逻辑复制(Logical Replication)和物理复制(Physical Replication)。下面我们将详细探讨这些复制技术以及它们的应用场景。 1. 实时复制...
### Oracle高级复制操作详解 #### 一、判断数据库是否支持高级复制功能 为了确定Oracle数据库是否支持高级复制功能,可以通过以下两种方式来进行检查: 1. **通过查询`v$option`视图**: ```sql SELECT value ...
该技术主要包括Standby/DataGuard、Stream Advanced Replication等方法,旨在确保多台数据库服务器之间的数据实时或近实时的同步,以满足高可用性、灾难恢复等需求。 1. Standby/DataGuard(备用数据库/数据保护) ...
登录到beijing和hebei数据库的sys用户,通过查询`v$option`视图来检查`Advanced replication`参数,如果返回值为true,则表示支持高级复制;若为false,则需重新安装相关组件。 接着,对比两台数据库的全局数据库...
Oracle Database Advanced Replication