首批通过分布式安全可靠测评,为关键业务系统打造
CANCEL TRANSFER PARTITION
更新时间:2026-04-16 00:11:36
描述
该语句用于取消当前正在执行的 Transfer Partition(迁移分区)任务。
使用限制及注意事项
当取消特定分区的 Transfer Partition 任务时,如果任务处于
DOING状态,则无法执行取消操作。若任务处于其他状态(WAITING和INIT),则可以取消。当取消租户下所有 Transfer Partition 任务时,尽管该命令支持取消所有正在进行的任务,但此操作并非原子性。即如果某些任务正处于
DOING状态,则这些任务将无法被取消。该语句只能在主库上执行。
权限要求
当前用户拥有 ALTER SYSTEM 权限。
语法
语法一:取消特定分区的 Transfer Partition 任务
ALTER SYSTEM CANCEL TRANSFER PARTITION TABLE_ID [=] table_id, OBJECT_ID [=] object_id [TENANT = 'tenant_name'];
语法二:取消租户下所有的 Transfer Partition 任务
ALTER SYSTEM CANCEL TRANSFER PARTITION ALL [TENANT = 'tenant_name'];
参数说明
| 参数 | 描述 |
|---|---|
| table_id | 表 ID。 |
| object_id | 分区的唯一标识。 |
| tenant_name | 指定要取消恢复的租户的名称。可选项,在系统租户下执行时必须指定。 |
示例
取消特定分区的 Transfer Partition 任务。
使用以下面语句查询租户下的 Transfer Partition 任务。
SELECT T.TENANT_NAME, S.TENANT_ID, S.TABLE_ID, S.OBJECT_ID, S.TASK_ID, S.STATUS FROM oceanbase.CDB_OB_TRANSFER_PARTITION_TASKS S, oceanbase.DBA_OB_TENANTS T WHERE S.TENANT_ID = T.TENANT_ID;返回结果如下:
+-------------+-----------+----------+-----------+---------+---------+ | TENANT_NAME | TENANT_ID | TABLE_ID | OBJECT_ID | TASK_ID | STATUS | +-------------+-----------+----------+-----------+---------+---------+ | oracle001 | 1004 | 500061 | 500064 | 9 | WAITING | +-------------+-----------+----------+-----------+---------+---------+ 1 row in set执行下面语句取消租户
oracle001下特定分区的 Transfer Partition 任务。ALTER SYSTEM CANCEL TRANSFER PARTITION TABLE_ID = 500061, OBJECT_ID = 500064 TENANT = 'oracle001';
取消租户
oracle001下所有的 Transfer Partition 任务。ALTER SYSTEM CANCEL TRANSFER PARTITION ALL TENANT = 'oracle001';