1.Data Guard 入门指南
一个Data Guard的配置需要一个primary Database和一个或多个(最多9个)Standby Database。
1.1 Standby Database Types
1.1.1 physical standby database
Data Guard维护一个物理Standby Database执行Redo Apply,当它无法执行恢复的时候,物理Standby Database能够以read-only模式或者Flashback可用时打开临时read/write模式。
Redo Apply
物理Standby Database通过Redo Apply来保持与Primary Database的一致性,通过Oracle 的恢复机制,应用归档文件或Standby Redologs文件中的Redo数据。恢复操作属于块对块的作用。如果正在执行REDO应用的操作,Oracle数据库就不能被OPEN。
Open read-only
以Read Only模式打开后,可以在Standby Database执行查询或备份等操作(以减轻Primary Database压力)。此时Standby Database仍然能够继续接收Primary Database发送的Redo数据,不过并不会应用,直到Standby Database重新恢复REDO应用
在Redo模式下不能执行Redo应用,而Redo应用时数据库肯定处于为打开状态。如果需要的话,可以在两者间切换。
Open read/write
如果以read /write模式打开,那么Standby Database将暂停从Primary Database接收Redo数据,并且暂时失去灾难保护功能。
如果需要临时调试一些数据,但又不方便在主数据库中进行,那么可以临时将Standby Database设置为READ/WRITE模式,操作之后将数据库闪回到操作之前的状态。(此时若没有启动闪回,那么就回不到READ/WRITE前的状态了)
Benefits of a Physical Standby Database
Disaster recovery and high availability
Data protection
Reduction in primary database workload
Performance
1.1.2 Logical Standby Databases
逻辑Standby Database通过SQL应用的方式应用REDO数据,因此逻辑Standby的物理文件结构,设置数据的逻辑结构都可以与Primary不同。
Benefits of a Logical Standby Database
Efficient use of standby hardware resources
Reduction in primary database workload
2.Standby Database Directory Structure Considerations
从优化配置的角度考虑,应该将Primary Database和各个Standby Database的目录结构保持一致,但是有时并不能保证主从路径完全一致,如由于服务器配置的原因,无法提供相同的磁盘路径,甚至某些测试平台Primary Database和Standby Database在同一台服务器上,这种情况下就更不可能保持路径相同了。
下面显示了三种常见的Primary Database和Standby Database目录结构:
Primary1和Standby1在相同的服务器上,目录结构不同 |
Primary1和Standby2在不同的服务器上,目录结构相同 |
Primary1和Standby3在不同的服务器上,目录结构不同 |
3.Online Redo Logs, Archived Redo Logs, and Standby Redo Logs
Online redo logs
在 primary database and logical standby database 每一个数据库实例都会有在线重做日志文件来保证在实例失败时进行恢复。Physical standby databases 不使用在线重做日志,因为Physical standby databases 不使用READ/WRITE模式进行I/O操作。在状态切换的时候不会产生新的redo data。
Archived redo logs
archived redo log 是保持Standby Database和Primary Database中的事务一致所必需的。
查看数据库是否处于归档模式: SQL> select LOG_MODE from v$database; LOG_MODE 或者 SQL> archive log list; |
下列情况下Standby Redo Logs是必须的:
1)The maximum protection and maximum availability levels of data protection
2)Real-time apply
3)Cascaded destinations
standby redo log 的一些特点:
1)Standby redo log files 能够存在于裸设备,在RAC中这很重要
2)Standby redo log files 可以使用多个成员多路复用,提高可靠性
3)在故障转移期间,Data Guard可以standby redo log files 可以比 archived log files 更好的恢复和应用redo data
4)ARCn或LGWR能够直接从Primary Database上将redo data传输到远端standby redo log files,可能不再需要注册部分归档日志文件
本文章参照于Oracle10g官方文档