转://三分钟读懂Oracle数据库容灾架之DataGuard
目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类。
- Oracle 公司自己的容灾产品
- 非Oracle公司的容灾产品
Oracle公司目前的容灾产品有我们常见的DataGuard和属于中间件部门的Oracle GoldenGate(以下简称OGG)产品。非Oracle公司的有DSG迪思杰 及DDS九桥,这两种产品和OGG在实现原理上大致相同。
Oracle GoldenGate和DSG/DDS等产品,其license相对较为昂贵,而在购买了Oracle RDBMS软件license之后,DataGuard使用是免费的。Oracle 11g Active DataGuard(ADG)需要额外付费。
对于数据迁移,OGG/DDS/DSG 优势更明显。数据仓库数据大集中到Oralce中做数据分析 使用DataGuard 则显得太臃肿,不够灵活。OGG在对异构平台的数据迁移同步上也有显著的优势。同时也用于停机时间较短的数据迁移方案。 通过其初始化数据及后期的增量同步可以极大地减少业务迁移的停机时间。OGG的容灾同步可以满足多样性的需求,如只同步数据库的某个或几个用户下的数据。同时OGG可以实现多进程抽取,OGG 12.x版本支持从DataGuard备库中抽取数据到异地容灾数据库中。现在更推荐的架构是ADG+OGG 12.x从备库抽取数据到异地容灾机房。
在Oracle到Oracle的容灾方面,DataGuard在维护及预算支持上都优于Oracle GoldenGate。Oracle 11g Active DataGuard(ADG)备库实只读时查询可以支持报表业务,将主库的压力分散到备库上。11g的snapshot DataGuard将备库临时转换成一个可以读写的测试环境,数据完全和生产一致,为测试通过了一套最真实的仿真环境。测试完之后一键切回备库模式。测试数据自动抹去,不会影响数据的同步容灾。
这里插入稍微说一下Oracle的Extended RAC 容灾高可用。Extended RAC就是将传统的RAC两个节点从同一个机房改成分别放在两个不同的机房来实现单点容灾。然而考虑到RAC本身的一些问题及存储需求。RAC两个节点不能放置的距离太远(随着网络延迟的增加,RAC的性能成几何倍的衰弱,这就是为什么Exadata为什么将RAC所有节点放在同一个机柜的原因),而距离太近又不能实现真正的灾备,如电网,台风,水灾,地震等等。同时需要存储复制的支持,预算将会是一个比较大的问题。
DataGuard 容灾的高可用性切换时间需要多久? 在我们现有的客户环境中,DataGuard都是作为Oracle RAC的灾备环境。当RAC环境出现灾难性的损害彻底无法使用的时候可以通过一键failover脚本切换到备库。数据库本身在同步正常的情况下,切换可以在2分钟内完成。
关于DataGuard 和 OGG 在对网络带宽上的对比。DataGuard由于要传输比OGG更多的数据,其带宽占用要略多于OGG。但是也没有我们想象的那么恐怖。在正常的DataGuard同步中,oracle选择通过LNS将redo buffer中的重做数据推送到standby数据库中。这些其实是很小的一些量,对网络带宽的要求并不是很高。具体量的大小,可以通过业务高峰期间的awr报告中的load profile来大致分析。Oracle 11g配置DataGuard log_archive_dest_n属性中已经取消了arch/lgwr属性。 默认使用lgwr来传输。也就是说除非有GAP存在,Oracle DataGuard容灾本质上不再依赖归档日志。

Oracle 11g DataGuard 在实施上也比 10g 要方便很多。 通过Duplicate From Active DataBase备份不落地的方式复制数据库,可以在主库不停止的情况下直接实施DataGuard环境(前提是主库已经开启了归档模式,否则需要一次停机操作)。
如果需要使用ADG作为报表库,建议同时部署DataGuard监控。通过linux shell + oracle procedure实现监控ADG同步状态的脚本。可以监控出实时同步是否正常及延迟时间。
转://三分钟读懂Oracle数据库容灾架之DataGuard的更多相关文章
- 三分钟读懂Oracle数据库容灾架之DataGuard
Oracle数据库目前依然处于商用数据库的霸主地位. 运行在Oracle数据库上的核心业务及核心数据的安全性尤为重要. 目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类. Oracle ...
- 一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路
原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路 针对新手入门的普及,有过大型网站技 ...
- Oracle数据库容灾备份技术探讨
Oracle数据库容灾备份技术探讨 三种Oracle灾备技术 对于Oracle数据库的灾备技术,我们可以从Data Guard,GoldenGate和CDP角度去考虑. Oracle Data Gua ...
- 三分钟读懂TT猫分布式、微服务和集群之路
针对入门新手的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋. 目录 分布式 微服务 负载均衡集群 ...
- 三分钟读懂TT猫分布式、微服务和集群之路 (转)
http://www.cnblogs.com/smallSevens/p/7501932.html 针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础 ...
- 【转】五分钟读懂大数据核心MapReduce架构及原理
什么是MapReduce Hadoop中的MapReduce是一个简单的软件框架,基于它写出的应用程序可以运行在由上千个商用机器组成的大型集群上,并以一种可靠容错式并行处理TB级数据 MapReduc ...
- [转载] 2 分钟读懂大数据框架 Hadoop 和 Spark 的异同
转载自https://www.oschina.net/news/73939/hadoop-spark-%20difference 谈到大数据,相信大家对Hadoop和Apache Spark这两个名字 ...
- 2分钟读懂大数据框架Hadoop和Spark的异同
转自:https://www.cnblogs.com/reed/p/7730313.html 谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生.但我们往往对它们的理解只是 ...
- 一分钟读懂低功耗蓝牙(BLE)连接数据包
一分钟读懂低功耗蓝牙(BLE)连接数据包 1.概述 BLE 连接过程中有三个重要的数据包:SCAN_REQ, SCAN_RSP 和 CONNECT_REQ. SCAN_REQ: 扫描请求,由主设备(M ...
随机推荐
- Docker系列之Docker镜像(读书笔记)
一.基本概念 Docker包括三个基本概念镜像.容器.仓库. Docker镜像:就是一个只读的模板.例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了Apache或其他应用程序.用 ...
- JVM参数以及用法
工作以后,发觉真的几乎没有像大学那样空闲的时间,坐下来看看书写写博客了.最近的一篇博客距离现在已经近一个多月了,最近也在复习Java的东西,准备校招,看了看JVM的东西,就当作记笔记. (一)JVM参 ...
- [HAOI 2015]按位或
Description 题库链接 刚开始你有一个数字 \(0\) ,每一秒钟你会随机选择一个 \([0,2^n-1]\) 的数字,与你手上的数字进行或( \(\text{or}\) )操作.选择数字 ...
- loadrunner:Action.c(4): Error -27796: Failed to connect to server "192.168.66.3:8080": [10060] Connection timed out
Action.c(4): Error -27796: Failed to connect to server "192.168.66.3:8080": [10060] Connec ...
- 关于fasterxml-jackson发生Can not deserialize instance of异常原因验证
关于fasterxml-jackson发生Can not deserialize instance of异常原因验证 这两天线上有大量的java.lang.IllegalArgumentExcepti ...
- DotNetty项目基本了解和介绍
一.DotNetty背景介绍 DotNetty是微软的Azure团队,使用C#实现的Netty的版本发布.不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝大部分的编程接口.让我们在使 ...
- JavaScript类继承
和其他功能一样,ECMAScript 实现继承的方式不止一种.这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的.这意味着所有的继承细节并非完全由解释程序处理.作为开发者 ...
- Java集合之HashSet源码分析
概述 HashSet是基于HashMap来实现的, 底层采用HashMap的key来保存数据, 借此实现元素不重复, 因此HashSet的实现比较简单, 基本上的都是直接调用底层HashMap的相关方 ...
- HTML中body与html的关系
转载自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] 一.相关基础 一个div块级元素没有主动为其设置宽度和高度,浏览器会为其分配可使用的最大宽度(比如全屏宽度),但是不 ...
- 微信小程序request同步请求
今天在搞微信小程序的时候顺手用了async,await死活不起作用,后来查了一下子,竟然不支持,那没办法就换了一种实现wx.request同步请求的方案 祭出promise来搞一搞,下面直接贴代码,简 ...