当前版本支持最大性能、最大保护和最大可用三种保护模式,并且支持任意两种保护模式之间的相互切换。
背景信息
在切换保护模式前,请根据对性能、数据保护以及集群可用性的需求选择合适的保护模式。保护模式相关介绍请参见 保护模式概述。
操作步骤
在主集群上,执行以下命令,查看当前集群的保护模式。
obclient> SELECT CLUSTER_ROLE, PROTECTION_MODE FROM V$OB_CLUSTER;
+----------------+--------------------------+
| CLUSTER_ROLE | PROTECTION_MODE |
+----------------+--------------------------+
| PRIMARY | MAXIMUM PERFORMANCE|
+----------------+--------------------------+
1 row in set
根据保护模式对日志传输参数的要求,为不同的备集群配置合适的日志传输参数,日志传输参数的详细介绍及配置方法请参见 日志传输服务 章节。
不同保护模式对日志传输参数的要求如下:
最大性能模式:无要求
最大保护模式,有且仅有一个备集群可以配置为
SYNC
模式最大可用模式:有且仅有一个备集群可以配置为
SYNC
模式,可选择在备集群上配置NET_TIMEOUT
参数
在主集群上,执行以下命令,查看所有备集群的日志传输参数。
obclient> SELECT CLUSTER_ID, REDO_TRANSPORT_OPTIONS FROM V$OB_STANDBY_STATUS;
+-------------+-------------------------------------+
| CLUSTER_ID | REDO_TRANSPORT_OPTIONS |
+-------------+-------------------------------------+
| 2 | SYNC NET_TIMEOUT = 30000000 |
+-------------+-------------------------------------+
1 row in set
进行切换前的集群状态检查,确保能成功切换。
从其他模式切换到最大性能模式或最大可用模式时,可跳过该步骤。但切换到最大保护模式前需要满足以下要求:
SYNC
备集群与主集群保持同步状态。主集群的所有 Server 均在线。
如果不满足这两个要求,则从其他模式切换到最大保护模式时会失败。
从其他模式切换到最大保护模式时,进行的操作如下:
登录主集群,查询
V$OB_STANDBY_STATUS
的SYNCHRONIZATION_STATUS
字段,获取目标备集群的同步状态。obclient> SELECT CLUSTER_ID, SYNCHRONIZATION_STATUS FROM V$OB_STANDBY_STATUS;
+-------------+---------------------------------+
| CLUSTER_ID | SYNCHRONIZATION_STATUS |
+-------------+---------------------------------+
| 2 | OK |
+-------------+---------------------------------+
1 row in set
仅当同步状态为
OK
时,备集群才与主集群保持同步状态;如果同步状态为其他值,需要排查备集群不同步的原因,SYNCHRONIZATION_STATUS
字段可能的取值及其含义请参见 v$ob_standby_status。登录主集群,查询
__ALL_SERVER
表,检查所有 Server 是否都在线。obclient> SELECT COUNT(*) FROM __ALL_SERVER WHERE STATUS != 'ACTIVE';
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
1 row in set
在主集群上,执行以下命令,切换保护模式。
obclient> ALTER SYSTEM SET STANDBY CLUSTER TO MAXIMIZE {AVAILABILITY | PERFORMANCE | PROTECTION};
查询各个集群的保护模式和保护级别,检查是否切换成功。
保护模式与保护级别字段的含义,请参见 保护模式与保护级别。
obclient> SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$OB_CLUSTER;
+---------------------------+----------------------------+
| PROTECTION_MODE | PROTECTION_LEVEL |
+---------------------------+----------------------------+
| MAXIMUM PROTECTION | MAXIMUM PROTECTION |
+---------------------------+----------------------------+
1 row in set