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。
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
Data Guard 介绍的更多相关文章
- Data Guard相关参数学习介绍
LOG_ARCHIVE_DEST_n 参数属性介绍 该参数的n在11g中为1到31,下列为参数的属性值: u AFFIRM and NOAFFIRM u ALTERNATE (not suppor ...
- Data Guard组件等相关介绍
1.Data Guard组件介绍 Data Guard架构归类为3个主要的组件. Data Guard 重做传输服务 重做传输服务用来将主数据库生成的重做数据传输给备用数据库. Data Guar ...
- data guard折腾记一
终于有空闲的机器腾出来了,生产环境上的一套Oracle环境终于可以鸟枪换炮了,生产环境有Data Guard,为了减少停机时间,而且避免重新构建Data Guard的麻烦(其实也不麻烦,就是浪费时间) ...
- (转)Oracle Data Guard学习
一.Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最高保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和prima ...
- Oracle涂抹oracle学习笔记第10章Data Guard说,我就是备份
DG 是备份恢复工具,但是更加严格的意义它是灾难恢复 Data Guard是一个集合,由一个Primary数据库及一个或者多个Standby数据库组成,分两类逻辑Standby和物理Standby 1 ...
- Oracle11g Active Data Guard搭建、管理
说明:參考网络众多人的笔记及思路,加上自己亲身实践之后的整理笔记.仅供參考. Data Guard与RAC不同的是.在普通情况下.Standby仅仅有一个节点处于活动状态,全部的应用都连接到主serv ...
- Data Guard 管理原理
##三大优势>Data Guard属于Oracle 自己的产品,其技术成熟完善.稳定可靠>可以随时验证业务数据的有效性>免费产品 Data Guard由主库(PRIMARY DATA ...
- [terry笔记]data guard基础知识
如下介绍了data guard的基础知识,整理自网络: Data Gurad 通过冗余数据来提供数据保护,Data Gurad 通过日志同步机制保证冗余数据和主数据之前的同步,这种同步可以是实时,延时 ...
- 在物理 Data Guard 中对异构主备系统的支持 (文档 ID 1602437.1)
Data Guard中主数据库与物理备用数据库(Redo Apply)之间可以有什么差别?本说明针对重做应用和 Oracle Data Guard 12 发行版 1 进行了更新.它适用于 Oracle ...
随机推荐
- linux的性能优化
转一位大神的笔记. linux的性能优化: 1.CPU,MEM 2.DISK--RAID 3.网络相关的外设,网卡 linux系统性能分析: top:linux系统的负载,CPU,MEM,SWAP,占 ...
- Linux开机自动启动ORACLE设置
1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示: [oracle@oracle11g ~]$ dbstartORACLE_HOME_LISTNER is not SET, ...
- 启用Win8/10(中文版/核心版/家庭版)中被阉割的远程桌面服务端
Windows 8/8.1/10 标准版(中文版/核心版/家庭版)中取消了远程桌面服务端,想通过远程连接到自己的电脑就很麻烦了,第三方远程桌面速度又不理想(如TeamViewer).通过以下方法可让系 ...
- Redis的多线程
Redis是单线程内部机制,那么怎么实现并发?在单机上部署多个Redis实例.
- 【selenium】XPATH语法(一)
XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. 我们将在下面的例子中使用这个 XML 文档. <?xml v ...
- TFS撤销其他人的迁出
1.cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE 2.查看工作区tf workspaces /owner:zho ...
- CXF运行wsdl2java :找不到系统路径
已经配置好cxf的环境变量出现 解决方法:一定要设置JAVA_HOME这个变量
- WCF揭秘学习笔记(4):可信赖会话、会话管理、队列、事务
可信赖会话 WCF的可信赖会话在绑定层保证消息只会被传输一次,并且保证消息间的顺序.当使用TCP通信时,协议本身保证了可靠性,但它只在两点间的网络 包这个层面提供了这样的保证.WCF的可信赖会话特性保 ...
- Redis高速内存缓冲平台可视化监控之RedisLive配置实战
一.引用 这两天在弄Reids高速缓存平台的图形化监控,由于对于Python并不是很熟悉,安装过程中遇到了不少问题,包括: 1.python必备安装包的安装问题 2.Redis Live界面显示问题 ...
- ApacheKylin笔记
基本没有什么难度,只要照着官网上配置就行,这里有以下几点需要注意: HBase一定要用2.0以下的,切记.否则会报找不到方法的错误! 需要配置修改kylin.properties文件里的spark配置 ...