下面的图形描述了 OceanBase 数据库物理恢复的架构。

    物理恢复架构

    对于用户可见的流程主要有两步:

    1. 在目的集群上用 CREATE RESOURCE POOL 命令建立恢复租户需要的 resource pool。

    2. 通过 ALTER SYSTEM RESTORE TENANT 命令调度租户恢复任务。

    对于备份恢复来说,restore tenant 命令内部的流程如下:

    1. 创建恢复用的租户

    2. 恢复租户的系统表数据

    3. 恢复租户的系统表日志

    4. 调整恢复租户的元信息

    5. 恢复租户的用户表数据

    6. 恢复租户的用户表日志

    7. 恢复扫尾工作

    对于单个 PG 来说,恢复的流程就是将 PG 的元信息和宏块数据拷贝到指定的 OBServer,构建出一个只有基线数据的 PG;然后再把 PG 的日志拷贝到指定的 OBServer,回放到该 PG 的 memtable 中。这个流程中如果日志的量比较大,可能会触发转储操作。