如何更改保护模式(保护模式比较)
- 确保主服务器上的 LOG_ARCHIVE_DEST_N 设置已配置,并且目标已启用以支持上述目标保护模式。
所有参数都应根据需要在 spfile 或者 pfile 中设置。
对于 MAXIMUM PROTECTION 模式,必须启动并安装备用数据库。
出于示例的目的,将使用 LOG_ARCHIVE_DEST_2.
SQL> alter system set log_archive_dest_2='service=STBY LGWR SYNC AFFIRM .......... '; SQL> alter system set log_archive_dest_state_2=enable;
如果使用 Oracle10g 或者更高版本,属性 VALID_FOR 和 DB_UNIQUE_NAME 也应该设置为 LOG_ARCHIVE_DEST_n 的一部分。
- 如果我们使用的是 Oracle 11.x 或者希望降级 Oracle 10.x 中的保护模式,请跳过此步骤 关闭主数据库并以挂载模式重新启动它。
如果主数据库启用了 RAC,请关闭所有实例,然后启动并装入单个实例。
例如:
SQL> shutdown immediate SQL> startup mount
- 更改保护模式。
如果完成了第 2 步,还要打开数据库并重新启动其他 RAC 实例。
SQL> alter database set standby database to maximize {AVAILABILITY | PERFORMANCE | PROTECTION}; SQL> alter database open;
- 要确认保护模式的更改,请查询主服务器上的 v$database。
SQL> select protection_mode, protection_level from v$database;
其中:
PROTECTION_MODE :为数据库设置的保护模式
PROTECTION_LEVEL :影响数据库的实际实时模式;这将在中断/故障后改变
2. 最大可用性
这种保护模式可提供最高级别的数据保护,而不会影响主数据库的可用性。
与最大保护模式一样,事务不会提交,直到恢复这些事务所需的所有重做数据都已写入联机重做日志和至少一个同步的备用数据库。
与最大保护模式不同,如果故障阻止主数据库将其重做流写入同步的备用数据库,则主数据库不会关闭。
相反,主数据库将在 RESYNCHRONIZATION 中运行,直到更正故障并解决所有日志间隙。
解决所有日志间隙后,主数据库会自动恢复在最大可用性模式下运行。
这种模式确保在主库发生故障时不会发生数据丢失,但仅在第二次故障不会阻止一组完整的重做数据从主库发送到至少一个备库时才发生。
Data Guard 保护模式
3 种 Data Guard 保护模式支持的重做传输配置如下。
保护模式的准备工作
要参与 3 种性能模式,必须满足以下要求:
Requirement | Maximum protection | Maximum Availability | Maximum Performance |
---|---|---|---|
Redo Archival Process | LGWR | LGWR | LGWR or ARCH |
Network Transmission mode | SYNC | SYNC | ASYNC when using LGWR only |
Disk Write Option | AFFIRM | AFFIRM | NOAFFIRM |
Standby Redo Logs | Yes | Yes | No, but recommended and required for Real-Time Apply |
Standby Database Type | Physical (9i), Physical & Logical (10g & above) | Physical and Logical | Physical and Logical |
1. 最大保护
这种保护模式保证了在主数据库出现故障时不会发生数据丢失。
为了提供这一级别的保护,恢复每个事务所需的重做数据必须在事务提交之前写入本地联机重做日志和至少一个备用数据库上的备用重做日志。
为确保不会发生数据丢失,如果故障阻止主数据库将其重做流写入至少一个同步的备用数据库,则主数据库将关闭。
由于这种数据保护模式将数据保护优先于主库可用性,因此Oracle建议至少使用两个备库来保护以最大保护模式运行的主库,以防止单个备库故障导致主库关闭.
Data Guard 配置始终以三种数据保护模式之一运行(也称为重做传输规则):
- 最大保护
- 最大可用性
- 最高性能(默认操作模式)
这三种模式都提供了高度的数据保护,但它们在各自对主数据库的可用性和性能的影响方面有所不同。
3. 最高性能
这种保护模式可提供最高级别的数据保护,而不会影响主数据库的性能。
这是通过允许事务在恢复事务所需的重做数据写入本地重做日志后立即提交来实现的。
主数据库的重做数据流也被写入至少一个备用数据库,但该重做流是异步写入的,与创建重做数据的事务的提交有关。
当使用具有足够带宽和延迟的网络链接时,此模式可提供接近最大可用性模式的数据保护级别,同时对主数据库性能的影响最小。