Oracle Data Guard 19c 数据保护模式介绍

Oracle Data Guard提供三种不同的数据保护模式:
1)Maximum Availability(最大可用模式),它在不影响数据库可用性的情况下提供最高级别的数据保护。在Oracle Data Guard中,事务在所有需要用来恢复事务的redo数据已经发送到至少一个同步的备数据库的内存中或已经写到standby redo log中(根据具体的配置)才会提交。如果主数据库不能将redo流写到至少一个同步的备数据库,那么它将会像在最大性能模式下一样保持主数据库的可用性直到它可以再次将redo流写到一个同步备数据库为止。
这种保护模式确保除了在某些双重错误的情况(例如主数据库在备数据库故障后也出现故障)之外时零数据丢失。

性能相对保护均衡参数:
在最大可用模式下,需要了解参数LOG_ARCHIVE_DEST_n的属性SYNC/AFFIRM与SYNC/NOAFFIRM(FastSync)的区别。
当使用SYNC/AFFIRM进行传输时,主数据库进行写操作,然后等待redo已经同步传输到物理备数据库和写到磁盘的确认结果。由于将IO写到standy redo log需要花费时间,SYNC/AFFIRM传输在以影响性能的代价下提供额外的保护。
当使用SYNC/NOAFFIRM进行传输时,主数据库进行写操作,然后只等待数据已经被备数据库接收的确认结果,不需要等待数据已经写到磁盘的结果。SYNC/NOAFFIRM传输在以潜在会丢失数据的代价下提供性能优势。

2)Maximum Performance(最大性能模式),这是Oracle Data Guard缺省的保护模式。它在不影响数据库性能的情况下提供最高级别的数据保护。事务在事务产生的所有redo数据已经写到online redo log后就可以提交。Redo数据同样会被写到一个或多个备数据库,但是是异步完成的,这样主数据库的性能就不会被将redo数据写到备数据库的延迟所影响。这种保护模式相对于最大可用模式提供较少的数据保护,但对主数据库的性能影响最小。

3)Maximum Protection(最大保护模式),这种模式确保在主数据库故障时没有数据丢失。
事务在需要用来恢复事务的redo数据必须同时写到online redo log和至少一个同步的备数据库的standby redo log后才会提交。为了确保数据不会丢失,如果不能将redo流写到至少一个同步的备数据库时,主数据库将会关闭而不是继续处理事务。
最大保护模式与最大可用模式类似,但是在发生多个故障事件时可以提供额外的数据保护。
不像最大可用模式在无法收到备数据库的redo数据接收确认结果时主数据库可以继续处理事务,最大保护模式将会关闭主数据库。
由于这种模式优先数据保护而不是可用性,Oracle建议在最大保护模式下至少部署两个备数据库,以避免一个备数据库故障时导致主数据库也关闭。

设置主数据库的数据保护模式步骤:
只要配置满足保护模式的要求,打开的数据库也可以在线设置或更改保护模式(包括从最大性能模式更改为最大可用模式)。
1)检查确认至少一个备数据库的数据库初始化参数LOG_ARCHIVE_DEST_n必须包含数据保护模式对应的redo传输属性。

最大可用模式最大性能模式最大保护模式
AFFIRM或NOAFFIRMNOAFFIRMAFFIRM
SYNCASYNCSYNC
DB_UNIQUE_NAMEDB_UNIQUE_NAMEDB_UNIQUE_NAME

2)在主备数据库上检查数据库初始化参数DB_UNIQUE_NAME已经设置为唯一的值

3)在主备数据库上检查数据库初始化参数LOG_ARCHIVE_CONFIG已经设置为包含主备数据库的DB_UNIQUE_NAME的DG_CONFIG的列表。
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(CHICAGO,BOSTON)’;

4) 设置主数据库的保护模式
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {AVAILABILITY | PERFORMANCE | PROTECTION};

如果当前的数据保护模式为最大可用模式,同时至少有一个同步的备数据库,则可以在线设置为最大保护模式。如果不满足特定的条件,则需要先关闭数据库,重启到Mount状态再进行设置。

5) 检查主数据库的保护模式
SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

来源:《Oracle Data Guard Concepts and Administration,19c》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值