Data Guard 介绍

一、摘要



Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。

DataGuard可以提供Oracle数据库的冗灾、数据保护、故障恢复等,实现数据库快速切换与灾难性恢复。

在生产数据库的保证"事务一致性"时,使用生产库的物理全备份创建备库,备库会通过生产库传输过来的归档日志或重做条目自动维护备用数据库。

DataGuard数据同步技术有以下优势:

1. Oracle数据库自身内置的功能,与每个Oracle新版本的新特性都完全兼容,且不需要另外付费。

2. 配置管理较简单,不需要熟悉其他第三方的软件产品。

3. 物理Standby数据库支持任何类型的数据对象和数据类型。

4. 逻辑Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作。

5. 在最大保护模式下,可确保数据的零丢失。

二、架构



Oracle DataGuard由一个Primary数据库(生产数据库)及一个或多个Standby数据库(最多9个)组成。组成Data Guard的数据库通过Oracle Net连接,并且有可以分布于不同地域。

只要各库之间可以相互通信,它们的物理位置并没有什么限制,不受操作系统的限制。

1. Primary 数据库

DataGuard包含一个Primary数据库即被大部分应用访问的生产数据库,该库既可以是单实例数据库,也可以是RAC。

2. Standby 数据库

Standby数据库是Primary数据库的复制(事务上一致)。在同一个Data Guard中可以最多创建9个standby数据库,一旦创建完成,Data Guard通过应用Primary数据库的redo自动维护每一个Standby数据库。

Standby数据库同样即可以是单实例数据库,也可以是RAC结构。

3. 结构图

三、Standby数据库类型



Standby数据库通常分两类:逻辑standby和物理standby。

1. 逻辑standby

a. 逻辑standby是通过接收primary数据库的redo log并转换成sql语句,然后在standby数据库上执行SQL语句实现同步;

b. 与主库共享同样的模式定义;

c. 通过应用SQL(sql apply)与主库保持一致;

d. 当从主库接受到日志后,逻辑备用数据库是通过logmnr将日志转换成sql,在逻辑备库的表中,表可以同时用于恢复,报表查询功能;

2. 物理standby

a. 物理standby是通过接收并应用primary数据库的redo log以介质恢复的方式实现同步,不仅文件的物理结构相同,连块在磁盘上的存储位置都是一模一样的;

b. 基于数据块级别和主数据库一致;

c. 通过应用日志(redo apply)与主库保持同步;

d. 在mount standby阶段进行应用日志恢复,而同时也可以open read only提供报表查询;

四、备份库状态



1. 物理备库

(1). Managed recovery state

该模式下log transport service归档日志到备库,log apply service 自动应用这些日志。数据库不处于mount状态,任何读都不允许。

(2). Read only state

如果我们想做备库为报表功能,那么在备库环境中,我们以read only形式打开数据库。在备库log apply service将不能够应用归档日志到备库,但是主库的log transport service可以继续传递归档日志到备库。

我们可以非产轻松的在上述两种运行下进程切换,一般情况下我们会在如下的场景下进程切换:

a. 物理备库用于报表模式

b. 为了灾难的保护,检查数据是否正常的传递到了备库

2. 逻辑备库

Open read write mode

该种模式,备库仍然可以不断的应用归档日志,但是该备库同时可以提供报表查询功能。

当log apply service正在更新一张表时,该表仍然可以查询,但是在该表上无法做任何的DML操作。如果其他模式下的对象没有被log apply service所维护,那么我们可以更新该模式下的那些对象。

五、服务



1. 重做传输服务(Redo Transport Services)

控制redo数据的传输到一个或多个归档目的地。

2. 日志应用服务(Log Apply Services)

应用redo数据到standby数据库,以保持与primary数据库的事务一致。redo数据即可以从standby数据库的归档文件读取,也可直接应用备用日志文件读取。

3. 角色转换服务(Role Transitions)

DataGuard中有两种角色:primary和standby。角色转换就是让数据库在这两个角色中切换,

4. 切换分两种:switchover和failover

(1). switchover:

a. 转换primary数据库与standby数据库。

b. switchover可以确保不会丢失数据。

c. 计划中角色转换,主要用于操作系统和硬件的维护,备库切换成主库,而主库切换成备库,在切换完成后,这个过程没有任何的数据丢失和损失。

(2). failover:

a. 当primary数据库出现故障并且不能被及时恢复时,会调用failover将一个standby数据库转换为新的primary数据库。

b. 在最大保护模式或最高可用性模式下,failover可以保证不会丢失数据。

c. 非计划中的角色转换,在紧急情况下使用,根据数据的保护模式的不同,只有少量的或者是很少的数据损失

六、保护模式



1. 最大保护

这种模式是默认的数据保护模式,在不影响源数据库性能的条件下提供尽可能高的数据保护等级。

在该种模式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等待日志写到目标数据库,如果网络带宽充足,该种模式可提供类似于最大可用模式的数据保护等级。

2. 最大可用性

这种模式和"最大保护"基本上差不多。正常情况下,主备库之间是同步的。

当网络或者备库出现问题时,不会影响到主库的当机,主库会自动转换库"最大性能"模式,等待备库可用时,将归档传输到备库做恢复。

3. 最大性能

这种模式保证主库性能最大化,主备库之间数据是异步传输的。

即,主备日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。

七、安装条件



运行DataGuard需要具备以下几个条件:

1. 在主库和从库的所有机器上必须安装同一个版本的Oracle企业版。

2. 主库必须运行在归档模式下。

3. 主库和从库的操作系统必须一样(允许版本不同),从库可以使用与主库不同的目录结构。

4. 主从库硬件系统的体系结构必须相同。比如:主库运行在64位的Sun Sparc系统上,如果从库是32位的Linux Intel系统就不允许。主从库硬件的配置可以不同,比如:CPU数量、内存大小、存储配置等。

参考文档 :  http://blog.chinaunix.net/uid-14877370-id-2782040.html

-------------------------------------------------------------------------

ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。 ETL工具有:OWB(Oracle Warehouse Builder)、ODI(Oracle Data Integrator)、Informatic PowerCenter、AICloudETL、DataStage、Repository Explorer、Beeload、Kettle、DataSpider

时间: 2024-11-03 22:49:51

Data Guard 介绍的相关文章

Data guard概念篇一(转载)

本文转载至以下链接,感谢作者分享! http://tech.it168.com/db/2008-02-14/200802141545840_1.shtml 一.Data Guard配置(Data Guard Configurations) Data Guard是一个集合,由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成.组成Data Guard的数据库通过Oracle Net连接,并且有可能分布于不同地域.只要各库之间可以相互通信,它们的物理位置并没有什么

Data guard概念篇二(转载)

本文转载至以下链接,感谢作者分享! http://tech.it168.com/db/2008-02-14/200802141545840_1.shtml 一.Standby数据库类型     前章我们简单介绍了Standby数据库,并且也知道其通常分为两类:物理standby和逻辑standby,同时也简短的描述了其各自的特点,下面我们就相关方面进行一些稍深入的研究: 1. 物理standby 我们知道物理standby与primary数据库完全一模一样(默认情况下,当然也可以不一样,事无绝对

【DATAGUARD】物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置

[DATAGUARD]物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① Data Guard Broker 的配置 ② Fast-Start Failover 的配置 ③ Oracle DataGuard 之客户端TAF 配置 ④ 使用DGMGRL 来管理数据库 ⑤

Oracle11g Active Data Guard搭建、管理

说明:參考网络众多人的笔记及思路,加上自己亲身实践之后的整理笔记.仅供參考. Data Guard与RAC不同的是.在普通情况下.Standby仅仅有一个节点处于活动状态,全部的应用都连接到主server. 仅仅有当server发生问题时,才考虑切换到备用server. 在Oracle 11g曾经版本号中的的Data Guard物理备用数据库.能够以仅仅读的方式打开数据库.但此时MediaRecovery利用日志进行数据同步的过程就停止了,假设物理备用数据库处于恢复的过程中数据库就不能打开查询.

【DATAGUARD】物理dg配置客户端无缝切换--Data Guard Broker 的配置(1)

[DATAGUARD]物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置 一.2.2  实验环境介绍 项目 主库 dg库 db 类型 单实例 单实例 db version 11.2.0.3 11.2.0.3 db 存储 FS type FS type ORACLE_SID oradg11g oradgphy db_name oradg11g oradg11g 主机IP地址: 192.168.59.130 192.168.59.130 OS版本及kernel版本

Oracle 11g Data Guard 物理备库快速配置指南(上)

缘起 最近做了10g和11g的物理备库配置实验,发现 Data Guard 其实很容易,但是缺少好文档.我是参考官方文档做的实验,觉得它写的不是很清楚的. Google 出来两个pdf文档,读了觉得比官方文档强很多.翻译下,也许会对某些朋友有用.翻译的同时我也好更熟悉下这两个文档.好久没翻译过英文了,可以顺便练练手. 原文档下载地址(墙外): Configure Dataguard 11gR2 Physical Standby Part 1 Configure Dataguard 11gR2 P

Oracle Data Guard 概念篇

一个Data Guard 配置由一个生产库和一个或者多个standby数据库组成,在Data Guard配置中,主库和备库都既可以是rac环境,也可以是单机环境. 这篇文章主要介绍dataguard的一些基本知识 dataguard的分类.dataguard的服务类型.dataguard的保护模式 1.Dataguard中的备库分为物理备库和逻辑备库及快照备库 备库是主库的一致性拷贝,使用一个主库的备份可以创建多到30个备库,将其加入到dataguard环境中,创建成功后,dataguard通过

Oracle Data Guard RAC到单机ASM配置(物理standby)

本次配置11G rac到单机ASM的dataguard配置,11G rac的安装参考oracle 11G rac 安装(VMware + rhel6.3),11G 单机ASM安装参考Oracle 11G 单机asm安装. 环境介绍: 主库: 11203 2节点RAC   实例名:racdb1,racdb2  db_name:racdb  db_unique_name:racdb 备库: 11203 单机 ASM   实例名:racdbstd        db_name:racdb  db_un

[terry笔记]data guard基础知识

如下介绍了data guard的基础知识,整理自网络: Data Gurad 通过冗余数据来提供数据保护,Data Gurad 通过日志同步机制保证冗余数据和主数据之前的同步,这种同步可以是实时,延时,同步,异步多种形式.Data Gurad 常用于异地容灾和小企业的高可用性方案,虽然可以在Standby 机器上执行只读查询,从而分散Primary 苏菊哭的性能压力,但是Data Gurad 决不是性能解决方案. 在Data Gurad 环境中,至少有两个数据库,一个处于Open 状态对外提供服