DB:Oracle 12.1.0.2
保护模式要和log_archive_dest参数相比配,具体见下表。由于切换保护模式时并不会检查log_archive_dest参数,因此DBA需要自行确认是否匹配。
Table 6-1 Required Redo Transport Attributes for Data Protection Modes
Maximum Availability | Maximum Performance | Maximum Protection |
---|---|---|
AFFIRM or NOAFFIRM |
NOAFFIRM |
AFFIRM |
SYNC |
ASYNC |
SYNC |
DB_UNIQUE_NAME |
DB_UNIQUE_NAME |
DB_UNIQUE_NAME |
注意:如果有多个Standby库,至少需要一个Standby库符合要求,即至少一个log_archive_dest_N参数符合上表的要求。
以下是一个从最高性能切换到最高可用的示例:
查看Primary当前配置:
点击(此处)折叠或打开
-
SQL> show parameter log_archive_dest_2
-
-
NAME TYPE VALUE
-
------------------------------------ ----------- ------------------------------
-
log_archive_dest_2 string service=stby LGWR ASYNC
-
valid_for=(ONL
-
INE_LOGFILES,PRIMARY_ROLE)
-
db_unique_n
-
ame=stby
-
-
SQL> SELECT PROTECTION_MODE FROM V$DATABASE;
-
-
PROTECTION_MODE
-
--------------------
- MAXIMUM PERFORMANCE
点击(此处)折叠或打开
-
SQL> alter system set log_archive_dest_2 = 'service=stby ASYNC AFFIRM
-
valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
- db_unique_name=stby' scope=both;
点击(此处)折叠或打开
-
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY ;
-
-
Database altered.
-
-
SQL> SELECT PROTECTION_MODE FROM V$DATABASE;
-
-
PROTECTION_MODE
-
--------------------
- MAXIMUM AVAILABILITY
到这里就完成了。如果期望在switchover后原来的Standby再转变为Primary后也启用新的保护模式,也需要在原有的Standby上设置参数和保护模式。