---
title: 库表恢复中的辅助租户机制-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于库表恢复中的辅助租户机制相关的常见问题和使用技巧，帮助您快速解决库表恢复中的辅助租户机制的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 库表恢复中的辅助租户机制

更新时间：2026-08-25 02:41

适用版本： V4.0.x 内容类型：TechNote  

## 总结说明

OceanBase 的库表级恢复本质上仍是租户级物理恢复，需要创建辅助租户（`aux_tenant`）来承载整个恢复过程。恢复完成后通过 Import Table Job 将辅助租户的数据转移到目标租户，最后删除辅助租户。

## 详细说明

### 概念定义

库表级恢复是 OceanBase 提供的表级别数据恢复功能。虽然恢复粒度是单张表或单个库，但底层仍然依赖完整的租户级物理恢复基础设施。恢复过程中需要在集群中创建一个辅助租户，用于承载物理恢复和日志回放，恢复完成后辅助租户会被删除。

### 使用场景

- 需要将某张特定表的数据恢复到某个历史时间点（PITR - Point In Time Recovery）。
 - 误删表或误改数据后的数据恢复。
 - 从备份中提取特定表的数据。

### 使用方法

#### 语法示例

```sql
ALTER SYSTEM RECOVER TABLE tenant.table_name UNTIL TIME = '2024-01-01 12:00:00';

```

#### 核心流程

1. **创建辅助租户**（`aux_tenant`）
 2. **物理恢复到辅助租户**
 3. **创建 Import Table Job**
 4. **数据复制**（`build replica`）
 5. **表切换生效**（`take_effect`）
 6. **删除辅助租户**

各阶段详细说明：

1. **准备阶段**：在目标租户中创建隐藏表（`hidden table`），其 Schema 来自辅助租户中的源表。表名通常是 `__ddl_xxx` 形式的临时表。
 2. **获取快照**：获取辅助租户源表的一致性快照版本（`snapshot_version`），确保后续数据复制基于一致的数据视图。
 3. **数据复制**：通过内部 SQL 执行跨租户数据复制，本质是高效的 `INSERT /*+ append */ INTO target_hidden_table SELECT * FROM src_table`。此过程使用 DDL 框架直接构建 SSTable，比普通 INSERT 更高效。
 4. **切换生效**：将隐藏表重命名（`rename`）为目标表名，切换瞬间即可使用。
 5. **清理**：删除辅助租户，清理临时对象。

### 为什么要用辅助租户过渡？

#### 1. 备份数据的格式决定了必须用租户来承载

OceanBase 的备份包含：

- Redo Log / Clog：需要回放的事务日志。
 - SSTable 数据：物理存储的数据文件。
 - 元数据：租户级的 Schema、配置等。

恢复过程需要：`备份数据 → 日志回放（Log Replay）→ SSTable 合并（Major Compaction）→ 可用数据`。

这个过程依赖完整的租户基础设施：`Log Service`、`Meta Tenant`、`Storage Engine`、LS（Log Stream）。单张表没有独立的 `Log Service`，无法完成日志回放。

#### 2. 恢复过程需要"时间旅行"

库表恢复通常指定一个时间点（PITR），需要先从全量备份恢复数据，再回放增量日志到指定时间点。日志回放必须在独立的租户上下文中进行，否则会干扰目标租户正在进行的事务。

#### 3. 隔离性要求

| 问题 | 辅助租户的解决方案 |
| --- | --- |
| 恢复过程失败 | 不影响目标租户，直接删除辅助租户 |
| 恢复期间目标租户的写入 | 辅助租户独立运行，互不干扰 |
| 恢复到不同时间点 | 辅助租户可以回放到任意时间点，目标租户继续前进 |
| 资源隔离 | 辅助租户有独立的 CPU/内存/I/O 配额 |

#### 4. 架构复用

复用了已有的租户级恢复基础设施，避免重新实现表级恢复逻辑。

### 注意事项

- 恢复期间需要确保集群有足够资源创建辅助租户。
 - 恢复失败时可直接删除辅助租户，不影响生产租户。
 - 辅助租户恢复过程中需要独立的 CPU/内存/I/O 配额。

## 适用版本

OceanBase 数据库 V4.0.0 及以后版本。

上一篇

[物理恢复过程中因 BACKUP_INDEX_CACHE 缓存未命中导致性能下降问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003738144)

下一篇

[OceanBase 数据库故障恢复相关问题 FAQ](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003029993) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
