Oracle Data Guard(1)
1.Oracle Data Guard 介绍Oracle Data Guard能够为生产数据库提供高可用性、数据保护和数据灾难恢复功能。数据保护提供了一组全面的服务创建、维护、管理和监控一个或多个备用数据库,使生产Oracle数据库在数据损坏时可以快速恢复。Data Guard维护这些备用数据库作为事务性的一致的生产数据库的副本。在生产数据库不可用时,Data Guard可以切换任何备用数据库生产角色,以保证最小化停机时间。
2.Data Guard的基本配置
一个Data Guard的配置包括一个生产数据库和一个或者多个备用数据库,Oracle Data Guard配置的数据库通过Oracle Net连接,并且这些数据库可以不在同一物理区域。
2.1 Primary Database
主数据库可以由单实例数据库或者数据库应用集群构成。
2.1 Standby Databases
Standby Database接收Primary Database生成的Redo,时时同步到备用数据库上。备用数据库也可以由单实例数据库或者数据库应用集群构成。
[*] Physical standby database
物理Standby Database通过Redo Apply接收Primary Database生成的Redo,以介质恢复的方式实时保持同步。
[*] Logical standby database
逻辑Standby Database通过SQL Apply接收Primary Database成成的Redo,然后将其转换成SQL语句,然后在
Standby Database上执行SQL语句实现同步。
逻辑Standby Database还可用于灾难恢复,并且用户可以在任何时候通过逻辑Standby Database进行查询和检测。
2.3 下面是一个典型的Data Guard配置图:
3.Data Guard的服务
3.1 Redo传输服务( Redo Transport Services)
Oracle通过RTS服务(即REDO传输服务)控制REDO数据,从Primary Database发送到一个或多个归档目标。
该服务属于基础服务,主要任务如下:
[*] Transmit redo data from the primary system to the standby systems in the configuration
[*] Manage the process of resolving any gaps in the archived redo log files due to a network failure
[*] Enforce the database protection modes
[*] Automatically detect missing or corrupted archived redo log files on a standby system and automatically retrieve replacement archived redo log files from the primary database or another standby database
3.2 日志应用服务(Log Apply Services)
LAS服务(即Log 应用服务)主要用来应用REDO数据到Standby Database,以保持Standby Database和Primary Database的事务一致。
[*] 对于Physical Standby Database,Oracle Data Guard使用Redo Apply技术接收Primary传输的Redo数据。
[*] 对于Logical Standby Database,Oracle Data Guard使用SQL Apply技术接收Primary传输的Redo数据转换成SQL语句,然后执行SQL语句的方式应用Redo数据。
3.3角色转换(Role Transitions)
Data Guard中有两种角色:Primary和Standby。使用Data Guard可以使用switchover或failover切换方式使角色发生转换。
[*] switchover
使primary database 和standby databases可以相互切换,这种切换方式可以确保不丢失数据。
[*] failover
当primary Database出现故障并且不能及时恢复时,通过 failover 将其中的一个Standby Database转换成新的Primary Database。在最大保护模式和最高可用性模式下, failover 也可以保证不丢失数据。
4.Data Guard的保护模式(Data Guard Protection Modes)
[*] 最大保护(Maximum protection )
这种模式能够保证在primary Database发生故障保证数据不丢失。在这种模式下,事务提交前,要保证Redo数据已经写入到Primary Database的Online Redologs,同时写入Standby Database的Standby Redologs,并确保至少在一个Standby Database中可用。如果Standby Database不可用,Primary Database将会shutdown。
[*] 最高可用性(Maximum availability)
这种模式在不影响Primary Database可用的前提下,提供最高级别的数据保护策略,这种模式也能够确保数据不丢失。事务提交之前,要保证Redo数据已经写入到Primary Database的Online Redologs,同时写入Standby Database的Standby Redologs,确保至少在一个Standby Database中可用。与最大保护模式不同的是,如果Standby Database出现故障导致不可用,Primary Database并不会被shutdown,而是自动转换为最高性能模式,等Standby Database恢复正常后,Primary Database又会自动切换到最高可用性模式。
[*] Maximum performance
这是一种默认的保护模式。事务可以随时提交,当前Primary Database的Redo数据至少需要写入一个Standby Database,不过这种方式不会等待Standby Database是否写入的确认因此这种写入属于异步写入。
当网络有很大带宽可用时,常采用这种保护模式。
最大保护和最高可用性至少需要一个Standby Database的Redo数据被同步写入。以上三种保护都要指定LOG_ARCHIVE_DEST_n初始化参数。
5.Oracle Data Guard的相关特点总结
[*] Disaster recovery, data protection, and high availability
[*] Complete data protection
[*] Efficient use of system resources
[*] Flexibility in data protection to balance availability against performance requirements
[*] Automatic gap detection and resolution
[*] Centralized and simple management
[*] Integration with Oracle Database
[*] Automatic role transitions
本文总结于Oracle 10g官方文档
页:
[1]