首批通过分布式安全可靠测评,为关键业务系统打造
资源单元迁移
更新时间:2026-03-11 08:58:22
集群单个 Zone 中多台 OBServer 节点之间调整资源分布不均衡时,可以调整租户使用的资源分布,以便集群资源使用均衡。
本文将主要介绍使用 SQL 语句实现资源单元的迁移。
功能适用性
ALTER SYSTEM MIGRATE UNIT 语句仅支持在 sys 租户执行。
语法
ALTER SYSTEM MIGRATE UNIT [=] unit_id
DESTINATION [=] ip_port;
参数解释:
| 参数 | 描述 |
|---|---|
| unit_id | Unit 编号。 |
| ip_port | 将 Unit 迁移到的目标节点地址。 |
示例
查看资源单元分布。
执行下面 SQL 语句,查看租户
mysql001的资源单元在各 zone 的分布情况。SELECT t.TENANT_NAME,u.ZONE,u.UNIT_ID,u.SVR_IP FROM oceanbase.DBA_OB_TENANTS t,oceanbase.DBA_OB_UNITS u WHERE t.TENANT_ID=u.TENANT_ID AND t.TENANT_NAME='mysql001';返回结果如下:
+-------------+-------+---------+------------+ | TENANT_NAME | ZONE | UNIT_ID | SVR_IP | +-------------+-------+---------+------------+ | mysql001 | zone1 | 1002 | 10.10.10.1 | | mysql001 | zone2 | 1004 | 10.10.10.2 | | mysql001 | zone3 | 1006 | 10.10.10.3 | +-------------+-------+---------+------------+ 3 rows in set启动资源单元迁移。
执行下面 SQL 语句,将租户
mysql001的 zone3 中的资源单元从10.10.10.3:2882迁移至10.10.10.4:2882。ALTER SYSTEM MIGRATE UNIT = 1006 DESTINATION = '10.10.10.4:2882';查看迁移情况。
执行下面 SQL 语句,查看租户
mysql001的资源单元迁移后在各 zone 的分布情况。SELECT t.TENANT_NAME,u.ZONE,u.UNIT_ID,u.SVR_IP FROM oceanbase.DBA_OB_TENANTS t,oceanbase.DBA_OB_UNITS u WHERE t.TENANT_ID=u.TENANT_ID AND t.TENANT_NAME='mysql001';返回结果如下:
+-------------+-------+---------+------------+ | TENANT_NAME | ZONE | UNIT_ID | SVR_IP | +-------------+-------+---------+------------+ | mysql001 | zone1 | 1002 | 10.10.10.1 | | mysql001 | zone2 | 1004 | 10.10.10.2 | | mysql001 | zone3 | 1006 | 10.10.10.4 | +-------------+-------+---------+------------+ 3 rows in set
相关文档
资源单元迁移语法详细信息,请参见 MIGRATE UNIT。
取消资源单元迁移详细信息,请参见 CANCEL MIGRATE UNIT。
有关 Unit 迁移的更多信息,参见 副本迁移。