Oracle Data Guard
实现数据库同步介绍
一、Data Guard 介绍
Data guard 因为技术简单成熟,成本低廉(Oracle 自带的功能,不需要单独购买),是
广泛采用的一种数据库的高性能与容灾方案。
Oracle Data Guard 确保企业数据的高可用性、数据保护以及灾难恢复。Data Guard 提供
了一套全面的服务来创建、维护、管理和监控一个或多个备数据库,使得生产 Oracle 数据
库从灾难和数据损坏中得以幸存。Data Guard 维护这些备数据库作为生产数据库的事务一
致 性拷贝。然后,如果生产数据库因为计划的或计划外的中断而变得不可用。 Data Guard
能切 换任何备数据为生产角色,从而最小化中断引起的宕机时间。Data Guard 能与传统的
备份、 恢复和 cluster 技术一起使用,以提供高级别的数据保护和数据可用性。
使用 Data Guard,管理员能通过将资源密集的备份和报表操作转移到备系统上,来提
高 生产数据库的性能。
DATA GUARD 可以分为物理 STANDBY 和逻辑 STANDBY 两种。二者的最大差别在于,物
理 STANDBY 应用的是主库的归档日志,而逻辑 STANDBY 应用的是主库的归档日志中提取的
SQL 语句。由于二者这一点的区别,决定了物理 STANDBY 无论从逻辑结构和物理结构都是
和主库保持一致,而逻辑 STANDBY 则只需保证逻辑结构一致,且逻辑 STANDBY 在应用 SQL
语句的时候,数据库可以处于打开的状态。
如果从 DATA GUARD 的保护模式分,可以分为三种不同的保护模式:
保护最大化:这种模式的配置可以保证主库和备库的同步,任何情况下主库的损毁都
不会导致已提交数据的丢失。如果主库和备库之间的网络出现问题,或者备库本身出现问
题,都会导致主库停止数据处理。
可用最大化:这种模式和上面一种类似,也是会保证主库和备库的同步,区别在于,
当网络或备库不可用时,主库仍然可以继续处理。
性能最大化:主库和备库是异步的。这种模式可能在主库出现损毁时,丢失一部分数
据。但是这种模式对主库负荷最小,因此具有最好的性能。
二、Data Guard 配置
它包含一个生产数据库和一个或更多备数据库。在 Data Guard 配置中的 数据库可以通
过 Oracle Net 连接并可以分布在不同地理位置。数据库所处位置是没有限制 的,只要它们
能互相通讯。例如,你能有一个备数据库与生产数据库处于同一系统上,并且 有两个备数
据库在异地的其它系统上。
(1) 主数据库
Data Guard 配置包含一个生产数据库,也称为主数据库,作为主角。这是大多数
你的应 用访问的数据库。 主数据库能是单实例 Oracle 数据库或 Oracle Real Applicaon
Clusters 数据库。
(2) 备数据库
备数据库是主数据库的一个事务一致性拷贝。使用主数据库的备份拷贝,你能创
建最 多九个备数据库,并将其合并到一个 Data Guard 配置中。一旦创建,Data Guard
自动维护每 个备数据库,从主数据库传送重做数据然后应用重做到备数据库。
类似于主数据库,备数据库也可以是单实例 Oracle 数据库或 Oracle Real Applicaon Clusters
数据库。