首批通过分布式安全可靠测评,为关键业务系统打造
表级恢复概述
更新时间:2026-04-15 17:16:58
本节主要介绍表级恢复的技术原理。
表级恢复的整体流程
OceanBase 数据库的表级恢复功能是通过从备份数据中将用户指定的表恢复到一个已存在的租户中来实现的,并且该已存在的租户与原表所在的租户可以是同一个租户,也可以是同一集群中的不同租户,还可以是不同集群中的租户。
表级恢复功能的整体流程如下:
物理恢复出辅助租户。
通过备份和归档数据恢复出辅助租户到指定的时间位点。
跨租户导表。
将指定表的结构和数据及其关联的索引等 Schema 从辅助租户导入到目标租户。
清理辅助租户,释放占用的计算与存储资源。
辅助租户在表级恢复过程中扮演的角色类似于 Oracle 数据库所使用的 Auxiliary Instance,是表恢复过程中需要消耗的额外的计算存储资源。

跨租户导表实现机制
在当前版本中,OceanBase 数据库的表级恢复功能在跨租户导表阶段支持了三级并行机制(L1/L2/L3)。
表级恢复功能的跨租户导表的三级并行机制如下:
L1 级多表并行:允许最多 recover_table_concurrency 个表同时执行跨租户导表任务。
L2 级表内分区间并行:单个表的所有分区进行并行恢复。
L3 级单分区内部并行:系统会将每个分区拆分为最多 recover_table_dop 个恢复子任务,每个子任务由独立的表级恢复线程执行,实现分区内部并行恢复。
其中,L1/L2/L3 级并行任务均需从表级恢复线程池中申请线程资源,表级恢复线程池的线程数由配置项 ddl_thread_score 控制。

由于从辅助租户将数据并行导入到目标租户会消耗目标租户的资源,建议为目标租户配置资源隔离避免对业务请求造成影响,有关后台任务资源隔离的配置方法,参见 后台任务的资源隔离配置案例。