本文永久链接地址:https://www.askmac.cn/archives/oracle-11g-ocm-data-mode.html
13.配置 Data 保护模式
13.1 目标
在这个课程后,你应该可以:
- 描述数据的保护模式
- 在你的配置中变更数据保护模式
13.2 数据保护模式和redo 传输模式
- 数据保护模式需要一个指定的redo传输模式
- redo传输模式是单独的,不会定义数据保护模式
当你定义一个redo 传输模式,你配置主库到备库(物理或逻辑)的日志文件装载。你必须设置redo传输模式来支持你想配置的保护模式。但是,单独配置redo传输模式并不会设置保护模式()。
在配置redo传输模式后,你可以配置一个数据保护模式。数据保护模式设置会引起内部规则的实施,确保你的配置是必要的保护水平。
13.3 数据保护模式
- 有三种保护模式:
–最大保护
–最高可用
–最大性能
这三种模式用来平衡数据的可用性和系统性能需求。在一些场景,业务不能允许数据丢失。在其他的场景,数据库的可用性比丢失数据更重要。一些应用需求最大数据库性能,并且可以容忍潜在的数据丢失。
最大保护模式:
这个模式确保如果主库故障了,不会发生数据丢失。为了提供这个等级的保护,在事务提交之前,每个事务的redo数据需要同时写入到本地在线redo日志和至少一个备库的standby redo log。为了确保不会发生数据丢失,如果主库故障导致其不能将redo写入至少一个远程standby redo log,主库会关闭。对于多个实例的RAC 数据库,Data Gurad 也会关闭主库()。
最大保护模式需要:
- 在至少一个备库上设置standby redo log
- 在至少一个备库上设置LOG_ARCHIVE_DEST_n参数的属性为SYNC和AFFIRM
注:Oracle 建议在最少2个备库下使用最大保护模式
最大可用模式:
这个保护模式在不影响主库使用的情况下,提供了最高可能的保护数据等级。一个事务在提交前,其redo数据需要写入到至少一个备库的redo 中。如果主库故障导致其不能写入到远程备库日志中,主库也不会关闭。替代的是,数据库会在异步模式操作,直到故障和gap解决,并且备库是同步的,之后主库会自动的恢复操作未最大性能模式。
这个模式保证了在主库故障的时候不会发生数据丢失–仅仅在第二个故障不会阻止所有的日志从主库传输到至少一个备库的情况下。(例如网络波动,等等。如果开始是网络波动,还未恢复,立马数据库挂了,这就可能导致数据丢失。)
最大性能模式需求:
- 在至少一个备库上设置standby redo log
- 在至少一个备库上设置LOG_ARCHIVE_DEST_n参数的属性为SYNC和AFFIRM
最大性能模式:
最大性能模式是默认的数据保护模式,在不会影响主库性能的情况下,提供最高等级的保护。其允许事务的redo数据在写入本地redo文件时,事务就完成。主库的redo数据也要写入到至少一个备库中,但是这个操作对于产生日志的事务和提交是异步的()。
当有足够的网络带宽,这个模式提供了数据保护等级和最大可用性模式很接近,对主库性能影响最小。
最大性能模式需求:
在至少一个备库上设置LOG_ARCHIVE_DEST_n参数的属性为ASYNC和NOAFFIRM
13.4 数据保护模式的比较
模式 | 丢失数据风险 | 传输 | 如果没有接受到确认消息 |
最大保护 | 零数据丢失
双重故障保护 |
SYNC | 停止主库,直到接受到确认消息 |
最大可用 | 零数据丢失 | SYNC | 停止数据库直到阀值期限,然后重新恢复 |
最大性能 | 容忍少量的数据丢失 | ASYNC | 主库不会等待备库的确认消息 |
你需要平衡消耗和可用性来选择合适的保护模式。
注意:如果你打算启用快速故障转移,你必须设置保护模式到最大可用或者最大性能()。
13.5 使用DGMGRL 设置数据保护模式
- 如果你设置了保护模式为最大保护或者最大可用,确保在备库上配置了standby redo log文件。你也需要在主库或者其他备库备库上配置standby redo log,来保证在切换后可以改变保护模式。
2.使用EDIT DATABASE SET PROPERTY 来设置备库的redo传输日志。例如,如果你变更了数据保护模式到最大可用,使用EDIT DATABASE 命令来指定redo传输服务 SYNC:
DGMGRL> EDIT DATABASE ‘DR_Sales’ SET PROPERTY ‘LogXptMode’=’SYNC’; |
你也必须在主库或其他备库中配置日志传输服务,来保证其在切换之后可以进行保护模式变更()。
- 使用EDIT CONFIGURATION SET PROTECTION MODE AS 命令来设置整体的保护数据模式。可以使用下列命令来设置保护模式为最大可用:
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY; |
13.6 总结
在这个课程中,你应该学会如何:
- 描述数据保护模式
- 在你的配置中变更数据保护模式
Comment