---
title: "RESTORE | OceanBase 文档中心"
description: "RESTORE 描述 该语句用来恢复租户的数据。 说明 租户级别的快照备份的恢复只将数据块进行恢复，不会进行 clog 的恢复。 租户快照备份的恢复只能由 sys 租户下的 root 用户发起。 语法 alter_system_restore_stmt: ALTER SYSTEM restore_action; re…"
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.0.0 社区版

# RESTORE

更新时间：2026-06-28 08:42:26

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.0.0/zh-CN/700.reference/200.sql-syntax/100.system-tenants/200.alter-system/1800.RESTORE.md)  

## 描述

该语句用来恢复租户的数据。

> **说明**
>
>  
>
> - 租户级别的快照备份的恢复只将数据块进行恢复，不会进行 clog 的恢复。
>  - 租户快照备份的恢复只能由 sys 租户下的 root 用户发起。

## 语法

```sql
alter_system_restore_stmt:
    ALTER SYSTEM restore_action;

restore_action:
  /*按租户恢复数据*/
  RESTORE <dest_tenant_name> FROM <source_tenan_tname> AT 'uri' UNTIL 'timestamp'
      WITH 'restore_option';

  /*加载需要恢复数据的路径*/
  ADD RESTORE SOURCE 'uri';

  /*撤销加载的数据路径*/
  CLEAR RESTORE SOURCE;

 /*租户级别的快照备份恢复*/
  RESTORE <dest_tenant_name> FROM <source_tenant_name> AT <backup_file_dest_list>
      WITH <restore_option>;

 /*按表恢复数据*/
  RESTORE <table_name_list> FOR <dest_tenant_name> FROM <source_tenant_name> AT 'uri' UNTIL
      'timestamp' WITH 'restore_option';

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| table_name_list | 指定恢复租户中特定表格的数据，其中表名需要包含表所属的数据库（MySQL 租户）或用户（Oracle 租户）。 |
| dest_tenant_name | 指恢复的目标租户名称。 |
| source_tenant | 指备份的源集群。 |
| uri | 指备份的时候设置的 `backup_dest`。或者表示获取到的恢复数据的路径。 |
| backup_file_dest_list | 表示恢复文件所在的位置列表。 多个位置之间通过逗号分隔，目前仅支持 多个地址都为同一种类型的目的地。 |
| timestamp | 恢复的时间戳，需要大于等于最早备份的基线备份的 `CDB_OB_BACKUP_SET_DETAILS` 的`START_TIME`，小于等于日志备份 `CDB_OB_BACKUP_ARCHIVELOG_SUMMARY` 的 `MAX_NEXT_TIME`。 |
| restore_option | 恢复选项，支持以下几种：   - `backup_cluster_name`：源集群的名字，为必选项。 - `backup_cluster_id`：源集群的 `cluster_id`，为必选项。 - `pool_list`：用户的资源池，为必选项。多个资源池可以通过 `('poo1','pool2'...) ` 格式进行填写。 - `locality`：租户的 Locality 信息，为可选项。 - `kms_encrypt`：为可选项。默认为 `false`。如果为 `true` 则表示在恢复时需要指定 `kms_encrypt_info`。 有关指定 `kms_encrypt_info` 方式的详细信息，请参见 《OceanBase 数据库管理员指南》中 **恢复指定的表** 章节。 |

## 示例

- 恢复租户的数据。

  ```sql
  obclient> ALTER SYSTEM RESTORE restored_trade FROM trade
      AT 'oss://antsys-oceanbasebackup/backup_rd/20200323?host=cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com&access_id=xxx&access_key=xxx'
    UNTIL ' 2020-03-23 08:59:45'
    WITH 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';

  obclient> ALTER SYSTEM RESTORE restored_trade FROM trade
    AT 'file:///data/nfs/physical_backup_test/20200520'
    UNTIL '2020-05-21 09:39:54.071670'
    WITH 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';

  ```

  有关恢复租户数据的详细步骤信息，请参见 《OceanBase 数据库管理员指南》中 **执行全量恢复** 章节。
 - 恢复租户中指定表的数据。

  从租户 `tenant1` 的备份中将表 `sales`、`products` 和 `orders` 恢复到 `new_tenant1` 中，恢复出来的数据版本为 `2021-02-28 08:59:45`。

  ```sql
  obclient> ALTER SYSTEM RESTORE `crm`.`sales`, `crm`.`products`, `hr`.`employees` FOR new_tenant1 FROM tenant1 AT 'oss://antsys-oceanbasebackup/backup_rd/?host=cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com&access_id=xxx&access_key=xxx' UNTIL '2021-02-28 08:59:45' WITH 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';

  ```

  有关恢复租户中指定表的数据的详细步骤信息，请参见 《OceanBase 数据库管理员指南》中 **恢复指定的表** 章节。
 - 基于租户级别的快照备份恢复。

  ```sql
  obclient> ALTER SYSTEM RESTORE new_tenant1 FROM tenant1 AT 'file:///ob_backup/' WITH 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';

  ```

  有关租户级别的快照备份与恢复数据的详细步骤信息，请参见 《OceanBase 数据库管理员指南》中 **快照的备份与恢复（租户级别）** 章节。

 上一篇 下一篇 ![有帮助](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) 咨询热线
