基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
取消 Transfer Partition
更新时间:2026-04-16 00:11:35
手动发起 Transfer Partition 后,您可以根据业务需要,取消 Transfer Partition 任务。
使用限制
对于 V4.2.1 版本,从 V4.2.1 BP4 版本开始支持手动执行取消 Transfer Partition 操作。
不可取消处于
DOING状态的 Transfer Partition 任务,但可以取消处于其他状态的 Transfer Partition 任务。取消 Transfer Partition 任务的操作只能在主库(即主租户)上执行。
系统租户取消 Transfer Partition
使用
root用户登录到集群的sys租户。连接示例如下,连接数据库时请以实际环境为准。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -A查询视图
CDB_OB_TRANSFER_PARTITION_TASKS,获取当前任务的状态。obclient [oceanbase]> SELECT TENANT_ID, TABLE_ID, OBJECT_ID, STATUS FROM oceanbase.CDB_OB_TRANSFER_PARTITION_TASKS WHERE TENANT_ID = 1002;查询结果如下:
+-----------+----------+-----------+---------+ | TENANT_ID | TABLE_ID | OBJECT_ID | STATUS | +-----------+----------+-----------+---------+ | 1002 | 500006 | 500008 | WAITING | +-----------+----------+-----------+---------+ 1 row in set查询结果中,只有
STATUS为非DOING状态(WAITING、INIT等)的任务才能取消。如果希望取消的任务的
STATUS为DOING状态,您可以通过将租户级配置项enable_transfer的值修改为false来关闭 Transfer 功能。关闭 Transfer 功能后,所有DOING状态的 Transfer Partition 任务都会回退到WAITING状态,就可以执行取消 Transfer Partition 的操作了。有关配置项
enable_transfer的详细说明及设置,请参见 enable_transfer。根据查询结果,选择合适的操作:
取消指定租户指定分区的 Transfer Partition 任务
ALTER SYSTEM CANCEL TRANSFER PARTITION TABLE_ID [=] table_id OBJECT_ID [=] object_id TENANT = 'tenant_name';其中:
table_id:待取消分区的表 ID。object_id:待取消的分区。tenant_name:待取消分区的租户。
示例如下:
obclient [oceanbase]> ALTER SYSTEM CANCEL TRANSFER PARTITION TABLE_ID = 500006, OBJECT_ID = 500008 TENANT = 'mysql_tenant';取消指定租户下所有的 Transfer Partition 任务
ALTER SYSTEM CANCEL TRANSFER PARTITION ALL TENANT = 'tenant_name';示例如下:
obclient [oceanbase]> ALTER SYSTEM CANCEL TRANSFER PARTITION ALL TENANT = 'mysql_tenant';
用户租户取消 Transfer Partition
MySQL 模式租户或 Oracle 模式租户的租户管理员连接数据库。
连接示例如下,连接数据库时请以实际环境为准。
obclient -h10.xx.xx.xx -P2883 -uroot@mysql_tenant#obdemo -p***** -A查询视图
DBA_OB_TRANSFER_PARTITION_TASKS,获取当前任务的状态。MySQL 模式Oracle 模式MySQL 模式下的查询语句如下:
obclient [oceanbase]> SELECT TABLE_ID, OBJECT_ID, STATUS FROM oceanbase.DBA_OB_TRANSFER_PARTITION_TASKS;Oracle 模式下的查询语句如下:
obclient [SYS]> SELECT TABLE_ID, OBJECT_ID, STATUS FROM SYS.DBA_OB_TRANSFER_PARTITION_TASKS;查询结果的示例如下:
+----------+-----------++--------+ | TABLE_ID | OBJECT_ID | STATUS | +----------+-----------+--------+ | 500046 | 500052 | INIT | +----------+-----------+--------+ 1 row in set查询结果中,只有
STATUS为非DOING状态(WAITING、INIT等)的任务才能取消。如果希望取消的任务的
STATUS为DOING状态,您可以通过将租户级配置项enable_transfer的值修改为false来关闭 Transfer 功能。关闭 Transfer 功能后,所有DOING状态的 Transfer Partition 任务都会回退到WAITING状态,就可以执行取消 Transfer Partition 的操作了。有关配置项
enable_transfer的详细说明及设置,请参见 enable_transfer。根据查询结果,选择合适的操作:
取消本租户指定分区的 Transfer Partition 任务
ALTER SYSTEM CANCEL TRANSFER PARTITION TABLE_ID [=] table_id OBJECT_ID [=] object_id;其中:
table_id:待取消分区的表 ID。object_id:待取消的分区。
示例如下:
obclient [oceanbase]> ALTER SYSTEM CANCEL TRANSFER PARTITION TABLE_ID = 500046, OBJECT_ID = 500052;取消本租户下所有的 Transfer Partition 任务
obclient> ALTER SYSTEM CANCEL TRANSFER PARTITION ALL;