首批通过分布式安全可靠测评,为关键业务系统打造
ZONE
更新时间:2026-04-16 00:11:36
描述
ZONE 关键字用于管理数据库的物理分区,允许执行包括增加、删除、启动、停止、隔离等多种 Zone 管理操作。
使用限制及注意事项
仅 sys 租户具有权限对 Zone 的状态进行管理和维护。
语法
添加 Zone
ALTER SYSTEM ADD ZONE zone_name [zone_option_list];
zone_option_list:
zone_option [, zone_option ...]
zone_option:
REGION
| IDC
| ZONE_TYPE
修改 Zone
ALTER SYSTEM {ALTER | CHANGE | MODIFY} ZONE zone_name [SET] zone_option_list;
zone_option_list:
zone_option [, zone_option ...]
zone_option:
REGION
| IDC
| ZONE_TYPE {READWRITE | ENCRYPTION}
对 Zone 执行操作
ALTER SYSTEM (DELETE | START | [FORCE] STOP | ISOLATE) ZONE zone_name;
参数解释
| 参数 | 描述 |
|---|---|
| ADD ZONE | 新增 Zone。 |
| {ALTER | CHANGE | MODIFY} ZONE | 修改 Zone 的 Region 属性。
说明
|
| DELETE ZONE | 删除 Zone,删除前需要保证 Zone 中没有可用的 Server。 参见 删除 Zone,了解完整步骤。 |
| ISOLATE ZONE | 隔离有故障的 Zone。将故障 Zone 上的 Leader 切换到其他机器上,从而恢复用户写服务,同时集群内日志同步状态也能恢复正常。 |
| START | STOP | 主动上下线 Zone。 |
| FORCE STOP | 强制下线 Zone。 |
| zone_option | 指定目标 Zone 的属性,同时指定多个属性时各属性之前用逗号(,)分隔:
|
示例
添加 Zone。
-- 查询 Zone 的当前信息 SELECT * FROM oceanbase.DBA_OB_ZONES; +-------+----------------------------+----------------------------+--------+------+----------------+-----------+ | ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE | +-------+----------------------------+----------------------------+--------+------+----------------+-----------+ | zone1 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone2 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone3 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | +-------+----------------------------+----------------------------+--------+------+----------------+-----------+ 3 rows in set -- 添加 zone4. ALTER SYSTEM ADD ZONE zone4 IDC 'hz1', REGION 'hangzhou'; Query OK, 0 rows affected (0.006 sec) -- 再次查询名为 zone4 的 Zone 的信息以验证添加是否成功 SELECT * FROM oceanbase.DBA_OB_ZONES; +-------+----------------------------+----------------------------+----------+-------------+----------------+-----------+ | ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE | +-------+----------------------------+----------------------------+----------+-------------+----------------+-----------+ | zone1 | 2024-02-05 14:46:04.707847 | 2024-02-07 17:10:35.059284 | INACTIVE | datacenter2 | us-west-1 | ReadWrite | | zone2 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone3 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone4 | 2024-02-07 17:28:54.507039 | 2024-02-07 17:28:54.507683 | INACTIVE | hz1 | hangzhou | ReadWrite | +-------+----------------------------+----------------------------+----------+-------------+----------------+-----------+ 4 rows in set修改 Zone 的 REGION 和 IDC 设置。
-- 查询 Zone 的当前信息 SELECT * FROM oceanbase.DBA_OB_ZONES; +-------+----------------------------+----------------------------+--------+------+----------------+-----------+ | ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE | +-------+----------------------------+----------------------------+--------+------+----------------+-----------+ | zone1 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone2 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone3 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | +-------+----------------------------+----------------------------+--------+------+----------------+-----------+ 3 rows in set -- 修改 zone1 的 IDC 属性为 datacenter2,保持 REGION 属性不变 ALTER SYSTEM MODIFY ZONE zone1 SET REGION = 'us-west-1', IDC = 'datacenter2'; Query OK, 0 rows affected -- 再次查询名为 zone1 的 Zone 的信息以验证修改是否成功 SELECT * FROM oceanbase.DBA_OB_ZONES; +-------+----------------------------+----------------------------+--------+-------------+----------------+-----------+ | ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE | +-------+----------------------------+----------------------------+--------+-------------+----------------+-----------+ | zone1 | 2024-02-05 14:46:04.707847 | 2024-02-07 17:09:51.235460 | ACTIVE | datacenter2 | us-west-1 | ReadWrite | | zone2 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone3 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | +-------+----------------------------+----------------------------+--------+-------------+----------------+-----------+ 3 rows in set删除 Zone,如果 Zone 中存在 OBServer 节点则删除失败。
-- 查看全部服务器及其状态 SELECT * FROM oceanbase.DBA_OB_SERVERS; +---------------+----------+------+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+-------------------+ | SVR_IP | SVR_PORT | ID | ZONE | SQL_PORT | WITH_ROOTSERVER | STATUS | START_SERVICE_TIME | STOP_TIME | BLOCK_MIGRATE_IN_TIME | CREATE_TIME | MODIFY_TIME | BUILD_VERSION | LAST_OFFLINE_TIME | +---------------+----------+------+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+-------------------+ | 192.168.0.153 | 2882 | 1 | zone1 | 2881 | NO | ACTIVE | 2024-02-05 14:46:09.883866 | NULL | NULL | 2024-02-05 14:46:05.162503 | 2024-02-07 17:10:38.505727 | 4.2.2.0_100000032024010510-75c47d4be18a399e13c5309de1a81da5caf4e7c0(Jan 5 2024 10:17:55) | NULL | | 192.168.0.154 | 2882 | 2 | zone2 | 2881 | YES | ACTIVE | 2024-02-05 14:46:08.245165 | NULL | NULL | 2024-02-05 14:46:05.178982 | 2024-02-07 17:10:38.505727 | 4.2.2.0_100000032024010510-75c47d4be18a399e13c5309de1a81da5caf4e7c0(Jan 5 2024 10:17:55) | NULL | | 192.168.0.155 | 2882 | 3 | zone3 | 2881 | NO | ACTIVE | 2024-02-05 14:46:07.625092 | NULL | NULL | 2024-02-05 14:46:05.194484 | 2024-02-05 14:46:08.754012 | 4.2.2.0_100000032024010510-75c47d4be18a399e13c5309de1a81da5caf4e7c0(Jan 5 2024 10:17:55) | NULL | +---------------+----------+------+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+-------------------+ 3 rows in set -- 尝试删除 zone1,但存在活动服务器,删除失败 ALTER SYSTEM DELETE ZONE 'zone1'; ERROR 4668 (HY000): The zone is not empty and can not be deleted. You should delete the servers of the zone. There are 1 servers alive and 0 not alive. -- 尝试删除 zone4,该 Zone 中不存在活动服务器,删除成功 ALTER SYSTEM DELETE ZONE 'zone4'; Query OK, 0 rows affected (0.006 sec)隔离有故障的 Zone。
obclient [(none)]> ALTER SYSTEM ISOLATE ZONE 'zone1'; Query OK, 0 rows affected (0.009 sec) obclient [(none)]> SELECT * FROM oceanbase.DBA_OB_ZONES; +-------+----------------------------+----------------------------+----------+-------------+----------------+-----------+ | ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE | +-------+----------------------------+----------------------------+----------+-------------+----------------+-----------+ | zone1 | 2024-02-05 14:46:04.707847 | 2024-02-07 17:10:35.059284 | INACTIVE | datacenter2 | us-west-1 | ReadWrite | | zone2 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | | zone3 | 2024-02-05 14:46:04.707847 | 2024-02-05 14:46:04.707847 | ACTIVE | | default_region | ReadWrite | +-------+----------------------------+----------------------------+----------+-------------+----------------+-----------+ 3 rows in set