首批通过分布式安全可靠测评,为关键业务系统打造
检查主集群配置
更新时间:2023-08-24 11:11:25
在新建备集群前,需要参考本节内容检查主集群配置,确保该主集群上能添加备集群。
操作步骤
在主集群上,执行以下命令,验证是否允许添加备集群。
obclient > ALTER SYSTEM ADD CLUSTER VERIFY;
注意
主集群上物理恢复租户后,需要合并一轮才能新建备集群。OceanBase 数据库 V2.2.76 以下版本的
ADD CLUSTER VERIFY命令不会检查该条件,OceanBase 数据库 V2.2.76 及以上版本会检查并提示NEED MAJOR FREEZE AFTER RESTORE TENANT的报错信息。
如果命令执行成功,则表示可以添加备集群。
如果命令执行失败,系统会提示错误信息,错误信息的格式为 Add cluster not allowed. Actions: action,其中 action 表示出错原因和建议措施,请参考下表进行分析处理。
| 错误信息 | 错误原因及分析 | 处理建议 |
|---|---|---|
NEED MAJOR FREEZE AS SYS SCHEMA CHANGED |
系统表 Schema 变更后,未执行合并操作。 主集群执行升级操作后会触发系统表的 Schema 变更,故要求执行升级操作后,需要合并一轮才能添加相同版本的备集群,如果未执行合并,则会报错。 | 在主集群上发起合并操作,并且等待合并完成。 在主集群发起合并的具体操作请参见 手动触发合并。 |
CHECK TABLE PRIMARY ZONE OR LOCALITY CONFIG |
用户表配置了 Primary Zone 或者 Locality。 如果租户下的表配置了 Primary Zone 或者 Locality,目前不支持添加备集群。 |
执行ALTER TABLE table name SET PRIMARY_ZONE = default;命令去掉 Table 的 Primary Zone 配置或者执行 ALTER TABLE table_name SET locality = default; 命令去掉 Table 的 Locality 配置。 |
CHECK TABLEGROUP PRIMARY ZONE OR LOCALITY CONFIG |
Tablegroup 配置了 Primary Zone 或者 Locality。 如果 Tablegroup 配置了 Primary Zone 或者 Locality,目前不支持添加备集群。 |
执行ALTER TABLEGROUP tablegroup name SET PRIMARY_ZONE = default;命令去掉 Tablegroup 的 Primary Zone 配置或者执行 ALTER TABLEGROUP tablegroup_name SET locality = default; 命令 去掉 Tablegroup 的 Locality 配置。 |
CHECK DB PRIMARY ZONE CONFIG |
用户的数据库配置了 Primary Zone。 如果用户的数据库配置了 Primary Zone,目前不支持添加备集群 |
执行 ALTER DATABASE dbname SET PRIMARY_ZONE = default; 命令去掉数据库的 Primary Zone 配置。 |
CHECK TENANT GTS CONFIG |
集群中存在非 GTS 配置的租户。 备集群仅支持 GTS 配置的租户,要求所有租户都配置为 GTS。 |
检查所有普通租户的系统变量 ob_timestamp_service 的取值,要求配置的值为 GTS。 |
CHECK TENANT IN RESTORE |
存在处于恢复状态的租户。 主集群的部分租户处于物理恢复状态时,不支持添加备集群。 |
等待租户恢复完成,或者删除恢复状态的租户。删除租户相关介绍请参见 删除租户。 |
NEED OFFLINE GARBAGE REPLICA |
存在垃圾副本没有回收。 用户删除表或者删除分区后,会遗留垃圾副本等待回收;在垃圾副本回收前,为避免影响主集群的正常工作,不允许添加备集群。 |
等待所有垃圾副本被回收后再添加备集群。 |
CHECK ENABLE_ONE_PHASE_COMMIT CONFIGURATION |
ENABLE_ONE_PHASE_COMMIT 配置项为开启状态。 ENABLE_ONE_PHASE_COMMIT 配置项在开启状态时,不允许添加备集群。 |
将ENABLE_ONE_PHASE_COMMIT配置项的值设置为 False。 |
CHECK CLUSTER ROLE |
集群角色不是 PRIMARY。 |
只能在主集群上添加备集群,备集群上不能添加备集群。 |
CHECK CLUSTER UPGRADE MODE |
集群处于升级状态。 升级中的主集群不支持添加备集群。 | 等待升级完成。 |
NEED WAIT MAJOR FREEZE FINISHED AFTER FAILOVER |
执行 Failover 后需要等待合并结束。 执行 Failover 流程后,系统会在内部发起一轮合并,如果需要添加备集群,则需要等合并结束。 |
等待合并完成后再添加备集群。 查看合并进度的操作参见 查看合并的进度。 |
REACH ALL CLUSTER COUNT LIMIT |
达到集群数上限,不能添加更多的备集群。 OceanBase 数据库的主备库功能支持一个主集群和最多 31 个备集群,不支持添加更多的备集群。 |
建议通过 V$OB_STANDBY_STATUS 视图查看集群的状态信息,并删除不再使用的备集群。删除备集群相关操作请参见 删除备集群。 |
NEED MAJOR FREEZE AFTER RESTORE TENANT |
物理恢复租户后未进行合并,不能添加备集群。 主集群执行物理恢复租户操作后,要求合并一轮后才能添加备集群,如果未执行合并,会影响备集群同步物理恢复租户的数据。 |
在主集群上发起合并操作,并且等待合并完成。 在主集群发起合并的具体操作请参见 手动触发合并。 |