基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
解耦前准备
更新时间:2024-05-21 11:30:58
在解耦备集群前,需要选择合适的备集群,并验证该备集群是否具备解耦条件。
概述
主备库运行过程中,您可以在不影响在线业务前提下,从主备库集群中,选择一个备集群,解除其与主集群的主备关系,将备集群独立成一个与主集群无关的新主集群。
选择合适的备集群
在解耦备集群前,需要执行以下操作选择合适的备集群。
在各个备集群上分别查询集群状态,选择合适的备集群作为待解耦的备集群。示例如下:
obclient> SELECT CLUSTER_ROLE, SWITCHOVER_STATUS, PROTECTION_LEVEL FROM oceanbase.V$OB_CLUSTER;
+------------------+-------------------+---------------------+
| CLUSTER_ROLE | SWITCHOVER_STATUS | PROTECTION_LEVEL |
+------------------+-------------------+---------------------+
| PHYSICAL STANDBY | NOT ALLOWED | MAXIMUM PERFORMANCE |
+------------------+-------------------+---------------------+
1 row in set
其中:
CLUSTER_ROLE:表示集群角色,要求集群角色为PHYSICAL STANDBY。SWITCHOVER_STATUS:表示 Switchover 状态,执行解耦命令时,备集群不能处于SWITCHOVER SWITCHING、FAILOVER FLASHBACK或FAILOVER CLEANUP状态。PROTECTION_LEVEL:表示集群的保护级别。
验证备集群是否具备解耦条件
使用
root用户登录到待解耦的备集群的sys租户。为待解耦的备集群选择一个新集群名。
要求新集群名与主集群的集群名不相同。
为了验证该集群是否允许解耦,需要执行
VERIFY命令。SQL 语句如下:
obclient> ALTER SYSTEM DISCONNECT STANDBY CLUSTER 'standby_cluster_name' CLUSTER_ID standby_cluster_id SET CLUSTER_NAME 'standby_new_cluster_name' OBCONFIG_URL 'config_url' VERIFY;其中:
standby_cluster_name:表示待解耦的备集群的名称,可查询V$OB_CLUSTER视图获取。standby_cluster_id:表示待解耦的备集群的 ID,可查询V$OB_CLUSTER视图获取。standby_new_cluster_name:表示待解耦的备集群的新集群名称。config_url:表示待解耦的备集群的新的OBCONFIG_URL值。配置项
OBCONFIG_URL用于设置 OBConfig 服务的 URL 地址。更多配置项
OBCONFIG_URL的说明信息,请参见 obconfig_url。
如果命令执行成功,则表示可以解耦该备集群。如果命令执行失败,系统会显示失败的具体原因,具体失败信息及解决方法请参见 备集群解耦相关。