Oracle Data Guard可以确保高可用,数据保护,以及可为企业提供数据灾难恢复。Data Guard 提供一个全面的服务集合,包含创建,维护,管理以及监控一个或多个备用库来确保oracle生产数据库免于灾难以及数据损坏。Data Guard维护这些备用库作为事务一致性生产数据库的副本。因此,如果生产数据变得不可用,不管是计划内还是计划外的,Data Guard可以快速切换任何一个备用库作为生产库角色,最小化与故障相关联的停机时间。Data Guard可被用来作为传统备份,恢复以及集群技术来提供一个高级别的数据保护以及数据可以性。
使用Data Guard,管理员可以选择通过卸载资源密集的备份以及在备份系统上执行报表操作来提高生产库的性能。
Data Guard Configurations
一个Data Guard的配置包含一个生产库以及多个备用库。这些数据库在一个Data Guard配置是通过oradcle net连接以及在地理上可能会很分散。对于数据库处于什么环境这里没有限制,只需要他们彼此可以进行通讯即可。举例:你可以有一个备用库在与生产库一样的系统中,也可以有两个备用库在远端其他的系统上。
你可以使用SQL命令行接口或者 Data Guard broker 接口,包括DGMGRL命令行接口以及em中完整的用户接口来管理主库以及备库。
1.1 Primary Database
一个Data Guard配置包含了一个生产数据库,也称之为主数据库,这个即主要功能。这个数据库是多数应用访问的。这个主数据库可以是一个单实例的数据库或者是一个应用集群数据库。
1.2 Standby Databases
一个standby 数据库是primary 数据库的一个事务一致性的拷贝。使用一个primary数据库的备份,你可以创建多达九个standby 数据库,同时将它们合并在一个Data Guard配置中。一旦创建,Data Guard 通过从主库给备库发送redo数据,应用这些redo在备库上来自动维护每一个备库。
类似于主库(primary),一个备库(standby)即可以是一个单实例数据库,或者一个oracle 集群数据库。
一个备库(standby)即可以是一个物理备库或者是一个逻辑备库。
1.2.1 Physical standby database
提供了主数据库的物理上完全相同的副本,其中在磁盘上的数据库结构是与主数据库完全一致的(基于块对块的比对)。其数据库的schema,包含indexes都是相同的。一个物理备库与主库通过Redo Apply来保持同步的,Redo Apply恢复从主数据库上接收到的redo数据,并且应用这些redo在物理备库上。
一个物理备库可以用于商业目的之外的灾难恢复的有限基础。
1.2.2Logical standby database
包含了与生产数据库相同的逻辑信息,虽然物理数据结构是不同的。逻辑备库是通过SQL Apply与主库保持同步,SQL Apply将从主数据库中接收的redo中的数据转换为sql语句,然后在备库中执行这些sql语句。
一个逻辑备库可以被用于其它商业目的,除了灾难恢复需求。逻辑备库允许用户访问逻辑备库来执行查询以及报表目的的访问。同时,使用一个逻辑备库,你可以在升级oracle数据库软件或者更新补丁集的时候几乎不需要宕机时间。因此,一个逻辑备库可以被用来数据库的并发保护,报告以及数据库升级。
相关参考:
Oracle Data Guard 重要配置参数
基于同一主机配置 Oracle 11g Data Guard
探索Oracle之11g DataGuard
Oracle Data Guard (RAC+DG) 归档删除策略及脚本
Oracle Data Guard 的角色转换
Oracle Data Guard的日志FAL gap问题
Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法