DATAGUARD Protection Modes

 

1.maximum availablity

最高可用保护模式

在该模式下,事务提交的条件是至少有一个同步中的备库中的那些所有事务所需要recoverredo data都已经写入到online redo log以及standby redo log中,才会提交。如果主库的redo stream无法传输的至少一个同步中的备库中的话,DG将运行为maximum performance保护模式。这个模式确保如果主库宕掉的话,只要一个完整的redo data没有在传输时在发生错误,数据就不会丢失。

 

 

2.maximum performance

最高性能保护模式-默认

    日志无需实时传输到备库中,事务就能提交,只要事务中的日志已经写到redo log中。

 

3.maximum protection

最大保护模式

  该模式下,如果主库宕机,数据确保不丢。该模式下,事务要想提交,必须保证该事务下所有需要recoverredo data已经全部写到redo log和备库standby log里。

 

集中模式需要的传输条件:

Maximum Availability

Maximum Performance

Maximum Protection

AFFIRM

NOAFFIRM

AFFIRM

SYNC

ASYNC

SYNC

DB_UNIQUE_NAME

DB_UNIQUE_NAME

DB_UNIQUE_NAME

 

默认是maximum performance

LOG_ARCHVE_DEST_2='SERVICE..' 中如果不加sync 就是默认async(即异步传输),如果要使DG运行在maximum availablity或者maximum protection模式下,日志传输参数必须加上SYNC即同步传输,且加上AFFIRM参数。

 

要想切到

MAXIMUM PROTECTION 模式下,DG必须处于MAXIMUM AVAILABILITY 模式下,才能切过去。如果想从MAXIMUM PERFORMANCE 切到maximum availability需修改LOG_ARCHIVE_DEST_n参数,改成AFFIRM SYNC

 

切换方法:

主库执行:SQL>ALTER DATABASE SET STANDBY DATABASE TO MAXIMUM {AVAILABILITY | PERFORMANCE | PROTECTION};

SQL>SELECT PROTECTION_MODE,PROTECTION_LEVEL FROM V$DATABASE;

 

源文档 <http://docs.oracle.com/cd/E11882_01/server.112/e41134/protection.htm#SBYDB5159>

你可能感兴趣的:(dataguard,Protection,modes)