DataGuard 简介

Oracle Data Guard 确保企业数据的高可用性、数据保护以及灾难恢复。Data Guard 提供了一套全面的服务来创建、维护、管理和监控一个或多个备数据库,使得生产Oracle 数据库从灾难和数据损坏中得以幸存。

Data Guard 维护这些备数据库作为生产数据库的事务一致性拷贝。然后,如果生产数据库因为计划的或计划外的中断而变得不可用,Data Guard 能切换任何备数据为生产角色,从而最小化中断引起的宕机时间。

Data Guard 能与传统的备份、恢复和cluster 技术一起使用,以提供高级别的数据保护和数据可用性。

DG配置:

DG的主备库是通过ORACLE NET走TCP IP协议互相通信的,所以网络一定要畅通

  1. 主数据库(1个)

    单实例或者RAC

  2. 备数据库(1个或多个,最多9个)

    单实例或者RAC

    1)物理备库(Physical standby)

      基于块对块的物理拷贝,通过获取主库redo或者archivelog重新应用到备库上

      10g之前,应用redo时物理备库只能到mount阶段,查询只能以read only方式打开,11g之后可以配置active Physical standby,在read only状态应用redo

    2)逻辑备库(Logic Standby)

      通过sql应用与主库保持同步,其将从主数据库收到的重做中的数据转换成SQL 语句,然后在备数据库上执行SQL 语句

      可以打开

      逻辑备数据库能并发用于数据保护、报表、和数据库升级。

    3)  快照备库(snapshot standby)

      物理备库处于mount状态时接受和应用redo日志,物理备库不能对外提供数据访问。

      11g之前,如果需要访问物理备库,则只能以read only的方式打开;11g之后,可以配置active DG,物理备库可以进行只读访问,但不能进行读写操作。

      为了实现物理备库的读写操作,可以配置快照备库,将物理备库装换为快照备库。

      快照备库独立于主库,数据库正常接收主库的归档日志,保证主库的数据安全,但不会应用这些日志,只有将快照备库转换为物理备库后,再继续应用日志。

  eg:典型的DG配置

DG 服务:

  1. 重做传输服务

    控制重做数据从生产数据库自动传输到一个或多个归档目的地

    执行以下的任务:

      1)从主库传输重做数据到配置的备库

      2)管理并解决任何归档重做日志缝隙的过程中由于网络原因引起的缝隙

      3)自动探测在备库上丢失或者损坏的归档重做日志并自动从主库或者其他的备库上检索替代归档重做日志文件

  2. 应用服务

    在备库上应用重做数据维护与主库的事物同步,重做数据可以是redo或者归档,如果配置了实时同步,则应用redo

    从主库传输的重做数据写入到备库的redo中,然后再到归档,应用服务自动应用重做数据维护与主库的一致性,备库允许以只读模式访问数据

    物理备库的自动更新

     

    逻辑备库的自动更新

     

角色转化

  DG有两种角色:主库(primary);备库(standby)

  通过切换或故障转移更改数据库的角色

    1. 切换(switchover):主备库角色反转,不丢失数据,常用于维护主库时。

    2. 故障转移(failover):主库不可用,切换备库为主角色。故障转移需要重新配置DG

  角色切换的方法:

    1. 使用SQL语句

    2. Data Guard Broker

    3. EM

  Data Guard Broker

    分布式的管理架构,自动化创建,维护和监控DG

    1. EM管理

    2. dgmgrl命令

    $ dgmgrl

    DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production

    Copyright (c) 2000, 2009, Oracle. All rights reserved.

    Welcome to DGMGRL, type "help" for information.

    DGMGRL> help

    The following commands are available:

    add            Adds a standby database to the broker configuration

    connect        Connects to an Oracle database instance

    convert        Converts a database from one type to another

    create         Creates a broker configuration

    disable        Disables a configuration, a database, or fast-start failover

    edit           Edits a configuration, database, or instance

    enable         Enables a configuration, a database, or fast-start failover

    exit           Exits the program

    failover       Changes a standby database to be the primary database

    help           Displays description and syntax for a command

    quit           Exits the program

    reinstate      Changes a database marked for reinstatement into a viable standby

    rem            Comment to be ignored by DGMGRL

    remove         Removes a configuration, database, or instance

    show           Displays information about a configuration, database, or instance

    shutdown       Shuts down a currently running Oracle database instance

    sql            Executes a SQL statement

    start          Starts the fast-start failover observer

    startup        Starts an Oracle database instance

    stop           Stops the fast-start failover observer

    switchover     Switches roles between a primary and standby database

    Use "help <command>" to see syntax for individual commands

DG保护模式

  1. 最大性能模式

    默认模式,也是最常用的。

    是通过允许事务在恢复该事务所需重做数据在写到本地联机重做日志后立即提交而实现的。

    主数据库的重做数据流也写到至少一个备数据库,但是那个重做流相对于创建重做数据的事务是异步写的。

    当所用的网络连接有足够的带宽,这种模式提供了近似于最大可用性模式的数据保护级别,并且对主数据库性能的影响最小。

  2. 最大保护模式

    这种保护模式确保如果主数据库故障不会发生数据丢失。要提供这种级别的保护,恢复每个事务所需的重做数据必须在事务提交之前同时写到本地联机重做日志和至少

    一个备数据库上的备重做日志。要确保不发生数据丢失,如果故障导致主数据库无法写重做流到至少一个事务一致性备数据库的备重做日志时,主数据库会关闭。

  3. 最大可用模式

    主库无故障时,工作为最大保护模式;当主库故障时,工作为最大性能模式

DG的好处:

  1. 灾难恢复,数据保护,高可用

  2. 完全数据保护

  3. 高效的使用系统资源

  4. 灵活保护数据,平衡可用行与性能需求

  5. 自动发觉并解决间断

  5. 管理集中、简单

  6. 集成于oracle数据库

  7. 自动角色转换

时间: 2024-08-01 22:42:47

DataGuard 简介的相关文章

【DATAGUARD】物理dg配置客户端无缝切换 (八.4)--ora-16652 和 ora-16603错误

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

【DATAGUARD】物理dg配置客户端无缝切换 (八.2)--Fast-Start Failover 的配置

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

【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 来管理数据库 ⑤

【DATAGUARD】物理dg的switchover切换(五)

一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 物理dg的switchover切换演练过程 ② 物理dg管理和维护的一些sql 注意:本篇BLOG中代码部分需要特别关注的地方我都用***背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方. List of Archived Logs

【DATAGUARD】物理dg的failover切换(六)

[DATAGUARD]物理dg的failover切换(六) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 物理dg的failover切换演练过程 ② 物理dg管理和维护的一些sql ③ 利用duplicate搭建物理dg ④ 注意:本篇BLOG中代码部分需要特别关注的地方我都用***背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thr

Oracle 11g Dataguard 配置,维护与详解 (ADG)

一.前言: 本手册主要记录如何配置,还介绍了配置原因,以及注意要点,已经主备切换,以及故障转移等重要操作步骤,我希望这个文章可以作为进行dataguard配置的一个参考手册. 二.前提 1.主库是归档模式: 如果我们不清楚为什么是归档模式,那我们就应该也不会清楚dataguard是用来做什么的.透过很多修饰的官方语言,我们需要明确DG(dataguard简称,后同)实际上的作用就是用来高可用.而实现原理就是从主库获取数据到从库,在主库发生异常的时候,从库接管主库,完成身份的变化.可以一个主库,最

Android网络通讯简介

网络通信应该包含三部分的内容:发送方.接收方.协议栈.发送方和接收方是参与通信的主体,协议栈是发送方和接收方进行通信的契约.按照服务类型,网络通信可分为面向连接和无连接的方式.面向连接是在通信前建立通信链路,而通信结束后释放该链路.无连接的方式则不需要在通信前建立通信连接,这种方式不保证传输的质量. Android提供了多种网络通信的方式,如Java中提供的网络编程,在Android中都提供了支持.Android中常用的网络编程方式如下: 针对TCP/IP协议的Socket和ServerSock

微信红包的架构设计简介

@来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微信红包的架构,于是乎有了下面的文字(有误请提出,谢谢) 概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信的金额什么时候算? 答:微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.. 采取实时计算金额的考虑:预算需要占存储,实时效率很高,预算才效率低. 实时性:为什么明明抢到红包,点开后发现没有? 答:2014年的红包一点开就知道金额,分两次操作

JSON 简介

ylbtech-JSON: JSON 简介 JSON:JavaScript Object Notation(JavaScript 对象表示法) JSON是存储和交换文本信息的语法,类似 XML. JSON 比 XML 更小.更快.更易解析. JSON 实例 { "employee":[ {"firstName":"John","lastName":"Doe"}, {"firstName"