首批通过分布式安全可靠测评,为关键业务系统打造
取消副本任务
更新时间:2026-06-25 08:15:17
当前容灾任务的执行有一个限制:除了迁移副本任务外,租户的一个日志流同时仅允许执行一个副本任务,导致有一些紧急任务可能需要等待正在执行中的任务完成后才能执行该紧急任务。如果需要优先执行紧急任务,可以使用 ALTER SYSTEM CANCEL REPLICA TASK 命令手动取消正在执行的副本任务。
使用限制
当前版本仅支持取消补副本和迁移副本两种类型的副本任务。
说明
在当前版本中,对于因 Unit 迁移而引起的副本迁移任务,如果迁移任务的目的端已经没有 Unit 了,系统会自动取消对应的副本迁移任务,无需再手动取消。
系统租户(sys 租户)可以取消所有租户的副本任务,用户租户仅支持取消本租户的副本任务。
前提条件
在执行取消副本任务的操作前,请确认当前用户拥有
ALTER SYSTEM权限,否则无法执行ALTER SYSTEM CANCEL REPLICA TASK命令。在查询视图前,请确认当前用户拥有以下视图的
SELECT权限,否则无法查询相关信息。DBA_OB_LS_REPLICA_TASKS/CDB_OB_LS_REPLICA_TASKSDBA_OB_LS_REPLICA_TASK_HISTORY/CDB_OB_LS_REPLICA_TASK_HISTORY
操作步骤
假设当前有一 tenant1 租户,其 1001 号日志流的一个 R 副本正在执行迁移任务,此时当前集群发生了故障,急需在一个可用的机器上补充一个 F 副本来保证高可用,同时由于正在迁移的 R 副本数据量非常大,任务迟迟无法完成,导致补充 F 副本的紧急运维操作无法及时执行。这种情况下,运维人员可以参考本文档手动取消正在迁移的 R 副本的容灾任务,从而优先执行一些紧急的运维操作。
用户登录到集群对应的租户。
连接示例如下:
obclient -h172.30.xxx.xxx -P2883 -uroot@tenant1#obdemo -pxxxx -A有关更加详细的连接数据库的操作指引,参见 连接数据库概述(MySQL 模式) 和 连接数据库概述(Oracle 模式)。
查看当前正在执行的容灾任务。
系统租户
obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_LS_REPLICA_TASKS\G有关视图
CDB_OB_LS_REPLICA_TASKS中各字段的详细说明,请参见 CDB_OB_LS_REPLICA_TASKS。用户租户
MySQL 模式Oracle 模式MySQL 模式下执行以下语句:
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_LS_REPLICA_TASKS\GOracle 模式下执行以下语句:
obclient [SYS]> SELECT * FROM SYS.DBA_OB_LS_REPLICA_TASKS\G查询结果的示例如下:
*************************** 1. row *************************** LS_ID: 1001 TASK_TYPE: MIGRATE REPLICA TASK_ID: Y13CE64586BD4-000610C5F3EDBBCB-0-0 TASK_STATUS: INPROGRESS PRIORITY: LOW TARGET_REPLICA_SVR_IP: 100.xx.xxx.002 TARGET_REPLICA_SVR_PORT: 5072 TARGET_PAXOS_REPLICA_NUMBER: 2 TARGET_REPLICA_TYPE: FULL SOURCE_REPLICA_SVR_IP: 100.xx.xxx.003 SOURCE_REPLICA_SVR_PORT: 5073 SOURCE_PAXOS_REPLICA_NUMBER: 2 SOURCE_REPLICA_TYPE: FULL DATA_SOURCE_SVR_IP: 100.xx.xxx.003 DATA_SOURCE_SVR_PORT: 5073 IS_MANUAL: FALSE TASK_EXEC_SVR_IP: 100.xx.xxx.002 TASK_EXEC_SVR_PORT: 5072 CREATE_TIME: 2024-02-07 15:23:04 START_TIME: 2024-02-07 15:23:04 MODIFY_TIME: 2024-02-07 15:23:04 COMMENT: migrate replica due to unit group not match CONFIG_VERSION: 1 row in set根据查询结果可知,有一个
TASK_TYPE为MIGRATE REPLICA的容灾任务正在执行,并记录其TASK_ID。有关视图
DBA_OB_LS_REPLICA_TASKS中各字段的详细说明,请参见 DBA_OB_LS_REPLICA_TASKS。
执行取消副本任务的命令。
语句如下:
ALTER SYSTEM CANCEL REPLICA TASK TASK_ID [=] 'task_id' [TENANT [=] 'tenant_name'];语句使用说明:
task_id:待取消的副本任务的TASK_ID。tenant_name:指定待操作的租户。系统租户可以指定其他租户,用户租户只能指定本租户。如果不显式指定待操作的租户,则默认租户名为当前租户。本语句不支持使用all、all_user、all_meta等指定所有租户、用户租户以及所有 Meta 租户。本语句一次只能取消租户的一个容灾任务。
示例如下:
obclient> ALTER SYSTEM CANCEL REPLICA TASK TASK_ID = 'Y13CE64586BD4-000610C5F3EDBBCB-0-0';查看副本任务的取消结果。
系统租户
obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_LS_REPLICA_TASK_HISTORY WHERE TASK_ID = 'Y13CE64586BD4-000610C5F3EDBBCB-0-0'\G有关视图
CDB_OB_LS_REPLICA_TASK_HISTORY中各字段的详细说明,请参见 CDB_OB_LS_REPLICA_TASK_HISTORY。用户租户
MySQL 模式Oracle 模式MySQL 模式下执行以下语句:
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_LS_REPLICA_TASK_HISTORY WHERE TASK_ID = 'Y13CE64586BD4-000610C5F3EDBBCB-0-0'\GOracle 模式下执行以下语句:
obclient [SYS]> SELECT * FROM SYS.DBA_OB_LS_REPLICA_TASK_HISTORY WHERE TASK_ID = 'Y13CE64586BD4-000610C5F3EDBBCB-0-0'\G查询结果的示例如下:
*************************** 1. row *************************** LS_ID: 1001 TASK_TYPE: MIGRATE REPLICA TASK_ID: Y13CE64586BD4-000610C5F3EDBBCB-0-0 TASK_STATUS: CANCELED PRIORITY: LOW TARGET_REPLICA_SVR_IP: 100.xx.xxx.002 TARGET_REPLICA_SVR_PORT: 5072 TARGET_PAXOS_REPLICA_NUMBER: 2 TARGET_REPLICA_TYPE: FULL SOURCE_REPLICA_SVR_IP: 100.xx.xxx.003 SOURCE_REPLICA_SVR_PORT: 5073 SOURCE_PAXOS_REPLICA_NUMBER: 2 SOURCE_REPLICA_TYPE: FULL DATA_SOURCE_SVR_IP: 100.xx.xxx.003 DATA_SOURCE_SVR_PORT: 5073 IS_MANUAL: FALSE TASK_EXEC_SVR_IP: 100.xx.xxx.002 TASK_EXEC_SVR_PORT: 5072 CREATE_TIME: 2024-02-07 15:54:35 START_TIME: 2024-02-07 15:54:31 MODIFY_TIME: 2024-02-07 15:54:35 FINISH_TIME: 2024-02-07 15:54:34 EXECUTE_RESULT: ret:-4072, OB_CANCELED; elapsed:4109659; comment:[storage] receive task reply from storage rpc; COMMENT: migrate replica due to unit not match CONFIG_VERSION: 1 row in set查询结果中,
TASK_STATUS为CANCELED,表示任务已取消。有关视图
DBA_OB_LS_REPLICA_TASK_HISTORY中各字段的详细说明,请参见 DBA_OB_LS_REPLICA_TASK_HISTORY。