---
title: "数据恢复 | OceanBase 文档中心"
description: 数据恢复 本文档介绍从备份数据恢复的方法。数据恢复依赖关键资源为 OBTenant 和 OBTenantRestore，分别表示租户和租户恢复任务。因数据恢复行为的最终结果是产生一个新的租户，所以使用在 OBTenant Spec 中的 Source 字段来指定租户的恢复源。在租户资源中指定了数据恢复相关的字段之后，…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*_Ef7QIYUi3gAAAAAAAAAAAAADiGDAQ/original) ob-operatorV 2.2.0 社区版

# 数据恢复

更新时间：2026-04-13 16:46:32

[编辑](https://github.com/oceanbase/ob-operator-doc/edit/V2.2.0/zh-CN/500.ob-operator-user-guide/300.high-availability/500.data-recovery-of-ob-operator.md)  

本文档介绍从备份数据恢复的方法。数据恢复依赖关键资源为 OBTenant 和 OBTenantRestore，分别表示租户和租户恢复任务。因数据恢复行为的最终结果是产生一个新的租户，所以使用在 OBTenant Spec 中的 Source 字段来指定租户的恢复源。在租户资源中指定了数据恢复相关的字段之后，Operator 会创建出 OBTenantRestore 资源来执行具体的恢复任务。

## 前提条件

- 存在成功备份可恢复的数据。
 - 集群正常运行，并且剩余资源足够创建恢复租户。
 - 如果恢复源为 NFS 类型，需要确定挂载到 OceanBase 集群的备份 Volume 可用。

## 数据恢复配置文件说明

恢复数据的配置文件即租户管理当中所提到的 OBTenant 资源描述：

```yaml
apiVersion: oceanbase.oceanbase.com/v1alpha1  
kind: OBTenant  
metadata:  
  name: t1s
  # namespace: oceanbase
spec:
  obcluster: obcluster
  tenantName: t1s
  unitNum: 1
  tenantRole: STANDBY
  source:
    restore:
      bakDataSource:
        # type: "NFS"
        # path: "t1/dataBackup"
        type: "OSS"
        path: "oss://bucket/backup?host=oss-cn-hangzhou.aliyuncs.com"
        ossAccessSecret: "oss-access"
      archiveSource:
        # type: "NFS"
        # path: "t1/logArchive"
        type: "OSS"
        path: "oss://bucket/archive?host=oss-cn-hangzhou.aliyuncs.com"
        ossAccessSecret: "oss-access"
      until:
        unlimited: true
      replayLogUntil:
        unlimited: true
    tenant: t1
  fields: values

```

数据恢复相关配置说明如下：

- tenantRole： 需要创建的租户的角色，可选值为 PRIMARY 和 STANDBY，分别代表主租户和备租户。如果不指定，默认为 PRIMARY；有关备租户/物理备库的说明文档，请查看[物理备库](https://www.oceanbase.com/docs/community-ob-operator-doc-1000000000659356)
 - source： 租户数据来源
     - restore： 备份数据恢复源
           - bakDataSource： 备份数据恢复的目标地址，与数据备份中数据备份目的地配置相同
           - archiveSource： 日志归档恢复的目标地址，同上
           - until： 数据恢复的截止位点
                   - unlimited： 恢复到最新位点
                   - timestamp： 需要恢复到的时间戳，格式为 YYYY-MM-DD HH:mm:ss，例如 2023-11-10 09:00:00
                   - scn： 需要恢复到的 SCN
           - replayLogUntil： 作为数据恢复截止位点的补充，表示在数据恢复之后继续回放主租户日志到指定的位点，仅在恢复成为备租户且数据恢复截止位点没有设置为最新位点时生效，配置与 `until` 相同
     - tenant： 指定主租户，仅在恢复成为备租户时生效
 - 其他配置与正常租户的配置相同

## 常用操作实例

### 发起数据恢复

使用以下命令发起租户数据恢复。

```shell
kubectl apply -f tenant_restore.yaml

```

### 查看数据恢复状态

- 使用以下命令，查看待恢复租户的状态。

```shell
kubectl get obtenants.oceanbase.oceanbase.com -n oceanbase

```

返回结果如下：

```shell
NAME   STATUS      TENANTNAME   TENANTROLE   CLUSTERNAME   AGE
t1s    restoring   t1s          STANDBY      obcluster     27s

```

- 使用以下命令查看创建的租户恢复任务。

```shell
kubectl get obtenantrestores.oceanbase.oceanbase.com -n oceanbase

```

返回结果如下：

```shell
NAME          STATUS    AGE    TARGETTENANT   TARGETCLUSTER   RESTOREROLE   STATUSINDB
t1s-restore   RUNNING   113s   t1s            obcluster       STANDBY       WAIT_TENANT_RESTORE_FINISH

```

- 使用以下命令查看租户恢复任务的详细信息

```shell
kubectl describe obtenantrestores.oceanbase.oceanbase.com -n oceanbase

```

返回结果如下：

```shell
Name:         t1s-restore
Namespace:    oceanbase
Labels:       oceanbase.oceanbase.com/tenant-name=t1s
            ref-obcluster=obcluster
            ref-uid=b9317541-6566-4ac0-84fb-9a4c6fca03ba
Annotations:  <none>
API Version:  oceanbase.oceanbase.com/v1alpha1
Kind:         OBTenantRestore
Metadata:
Creation Timestamp:  2023-11-13T03:13:26Z
Generation:          1
Owner References:
  API Version:           oceanbase.oceanbase.com/v1alpha1
  Block Owner Deletion:  true
  Kind:                  OBTenant
  Name:                  t1s
  UID:                   b9317541-6566-4ac0-84fb-9a4c6fca03ba
Resource Version:        927784
UID:                     e439a060-9758-4074-a170-661d3e23a836
Spec:
Primary Tenant:  t1
Restore Option:  pool_list=pool_t1s_zone1&primary_zone=zone1;&locality=FULL{1}@zone1
Restore Role:    STANDBY
Source:
  Archive Source:
    Oss Access Secret:  oss-access
    Path:               oss://bucket/archive?host=oss-cn-hangzhou.aliyuncs.com
    Type:               OSS
  Bak Data Source:
    Oss Access Secret:  oss-access
    Path:               oss://bucket/backup?host=oss-cn-hangzhou.aliyuncs.com
    Type:               OSS
  Replay Log Until:
    Unlimited:  true
  Until:
    Unlimited:   true
Target Cluster:  obcluster
Target Tenant:   t1s
Status:
Restore Progress:
  backup_cluster_name:     obcluster
  backup_cluster_version:  
  backup_dest:             oss://bucket/backup?host=oss-cn-hangzhou.aliyuncs.com&access_id=xxx&access_key=yyy,oss://bucket/archive?host=oss-cn-hangzhou.aliyuncs.com&access_id=xxx&access_key=yyy
  backup_piece_list:       oss://bucket/archive/piece_d1005r10p10?host=oss-cn-hangzhou.aliyuncs.com&access_id=xxx&access_key=yyy
  backup_set_list:         oss://bucket/backup/backup_set_25_full?host=oss-cn-hangzhou.aliyuncs.com&access_id=xxx&access_key=yyy,oss://bucket/backup/backup_set_26_inc?host=oss-cn-hangzhou.aliyuncs.com&access_id=xxx&access_key=yyy
  backup_tenant_id:        1016
  backup_tenant_name:      t1
  Description:
  finish_ls_count:         0
  finish_tablet_count:     0
  finish_timestamp:
  job_id:                  5
  ls_count:                0
  restore_option:          pool_list=pool_t1s_zone1&primary_zone=zone1;&locality=FULL{1}@zone1
  restore_scn:             1697098764718466986
  restore_scn_display:     2023-10-12 16:19:24.718466
  restore_tenant_id:       1004
  restore_tenant_name:     t1s
  start_timestamp:         2023-11-13 11:13:46.220513
  Status:                  WAIT_TENANT_RESTORE_FINISH
  tablet_count:            0
  tenant_id:               1
Status:                    RUNNING
Events:                      <none>

```

## 查看租户恢复是否成功

- 连接 sys 租户。

```shell
mysql -h$(kubectl get pods -l ref-obcluster=test -o jsonpath='{.items[0].status.podIP}') -P2881 -uroot oceanbase -A -c

```

- 查看需恢复的租户是否恢复。

```sql
select * from DBA_OB_TENANTS;

```

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