目前市场上针对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 ...

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

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

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

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

  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. python——文件读写

    open()函数用法: file-object = open(file_name, access_mode = ' ', buffering = -1) filename可以是相对路径或绝对路径,ac ...

  2. IS-IS笔记

    IS-IS:一般不会见到,唯一见到过一次是在BAT中某家的骨干网 |->CLNP (类似IP,IPX)|->CLNS->|->IS-IS (Routing,IGP)ISO-&g ...

  3. Cordova - 彻底搞定IOS编译!

    操作系统:OSX10.14 XCode:10.1 Cordova:8.1.2 假设已经配置好了Cordova开发环境,Apple ID你也有,XCode也可以正常工作了,那么就可以继续看这篇文章了! ...

  4. 【高并发解决方案】7、HAProxy安装和配置

    简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...

  5. @RequestBody发送请求报400错误

    参数不使用@RequestBody 在使用Postman进行Post请求时,通常做法是填入key和value的值即可. 参数使用@RequestBody 使用@RequestBody注解时,在发送请求 ...

  6. WCF Service 转换为Web Service 中字段属性

    1.新建WCF服务,服务中包含对象 2.部署WCF服务,并将其转换为应用程序 3.通过添加服务引用,使用WCF服务 4.调用对应的对象时需要对应的值设置为True. 参考:https://cloud. ...

  7. blfs(systemv版本)学习笔记-安装、配置和使用wpa_supplicant无线网络连接工具

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wireless项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basic ...

  8. Python 练习: 计算器

    import re def format_string(s): # 对表达式进行格式化 s = s.replace(' ', '') s = s.replace("--", &qu ...

  9. 通过webpack2从0开始配置自己的vue项目 1

    PS 阅读者需要node基础.webpack原理知识.vue基础 安装node 这个网上很多教程 打开终端 创建项目 npm init 全局安装: cnpm i webpack webpack-dev ...

  10. 2017-12-21 FriceEngine试用与API中文化

    早先就听闻FriceEngine已有中文接口版本, 可惜没有机会尝试. 经原作者 @大笨蛋千里冰封 (Github账号 @ice1000 )建议, 在FriceEngine的DSL封装的接口基础上, ...