xuyangus 发表于 2018-9-12 11:20:17

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]
查看完整版本: Oracle Data Guard(1)