首页 > 代码库 > DataGuard 简介
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. 自动角色转换
DataGuard 简介