Oracle数据库目前依然处于商用数据库的霸主地位。 运行在Oracle数据库上的核心业务及核心数据的安全性尤为重要。

目前市场上针对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的更多相关文章

  1. 转://三分钟读懂Oracle数据库容灾架之DataGuard

    目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类. Oracle 公司自己的容灾产品 非Oracle公司的容灾产品 Oracle公司目前的容灾产品有我们常见的DataGuard和属于中 ...

  2. Oracle数据库容灾备份技术探讨

    Oracle数据库容灾备份技术探讨 三种Oracle灾备技术 对于Oracle数据库的灾备技术,我们可以从Data Guard,GoldenGate和CDP角度去考虑. Oracle Data Gua ...

  3. 一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路

    原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路   针对新手入门的普及,有过大型网站技 ...

  4. 三分钟读懂TT猫分布式、微服务和集群之路

    针对入门新手的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋. 目录 分布式 微服务 负载均衡集群 ...

  5. 三分钟读懂TT猫分布式、微服务和集群之路 (转)

    http://www.cnblogs.com/smallSevens/p/7501932.html 针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础 ...

  6. 【转】五分钟读懂大数据核心MapReduce架构及原理

    什么是MapReduce Hadoop中的MapReduce是一个简单的软件框架,基于它写出的应用程序可以运行在由上千个商用机器组成的大型集群上,并以一种可靠容错式并行处理TB级数据 MapReduc ...

  7. [转载] 2 分钟读懂大数据框架 Hadoop 和 Spark 的异同

    转载自https://www.oschina.net/news/73939/hadoop-spark-%20difference 谈到大数据,相信大家对Hadoop和Apache Spark这两个名字 ...

  8. 2分钟读懂大数据框架Hadoop和Spark的异同

    转自:https://www.cnblogs.com/reed/p/7730313.html 谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生.但我们往往对它们的理解只是 ...

  9. 一分钟读懂低功耗蓝牙(BLE)连接数据包

    一分钟读懂低功耗蓝牙(BLE)连接数据包 1.概述 BLE 连接过程中有三个重要的数据包:SCAN_REQ, SCAN_RSP 和 CONNECT_REQ. SCAN_REQ: 扫描请求,由主设备(M ...

随机推荐

  1. ZOJ 1234 Chopsticks(动态规划)

    Chopsticks 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=234 题目大意:给定n个筷子的长度,取k+8套筷 ...

  2. ab基本用法

    ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求.前段时间看到公司的开发人员也在 ...

  3. Android中通过typeface设置字体

    Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace",除此之外还可以使用其他字体文件(*.ttf)方法一:XML中使用android默认字体 ...

  4. github避免每次输入账户密码

    方法1: 显示所有隐藏目录,找到目录./git下的文件config文件,通过文本方式打开,在最前面添加如下两行.之后再次输入一次密码后就会记住账号密码. [credential]     helper ...

  5. ubuntu下mysql安装与测试

    原文地址: http://www.cnblogs.com/zhuyp1015/p/3561470.html 注意:原文地址中,最后g++ 编译源代码时少了个字母.添上即可. ubuntu上安装mysq ...

  6. Spring MVC源码分析(续)——请求处理

    转自:http://blog.csdn.net/shi1122/article/details/8041017 (转移位置了,时光隧道:http://www.jmatrix.org/spring/50 ...

  7. http知识累积

    1. http头 Host, Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的. 如果有黑客劫持了用户的请求,篡改了Host的内容,当请求到 ...

  8. Linux网络编程-----Socket地址API

    (1) 通用socket地址 socket网络编程接口中表示socket地址的是结构体sockaddr,其定义如下: #include<bits/socket.h> struct sock ...

  9. java环境变量设置方法

    1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08:    2.安装完成后,右击“我的电脑”,点击“属性”:         3.选择“高 ...

  10. 利用servlet做转发,实现js跨域解决同源问题

    做前端开发,避免不了跨域这个问题,跨域具体什么概念,不赘述,博客里太多.简单说下,我们用js发请求,不管post还是get,如果发请求的对象和当前web页面不在同一域名下,浏览器的同源策略会限制发请求 ...