---
title: "发起租户级备份 - OceanBase 数据库 V4.4.0 | OceanBase 文档中心"
description: 发起租户级备份 obshell 发起 OceanBase 数据库的租户级备份支持两种方式： 通过调用 API 发起备份 通过 obshell 命令发起备份 本文将以一个 3 副本的 OceanBase 集群为例，介绍如何通过 obshell 发起租户级备份。 前提条件 OceanBase 集群已被 obshell 运…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

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

# 发起租户级备份

更新时间：2025-09-10 19:10:45

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.4.0/zh-CN/700.reference/1500.Components-and-Tools/100.manage/100.obshell/210.use-case/300.tenant-management/200.initiate-tenant-level-backup.md)  

obshell 发起 OceanBase 数据库的租户级备份支持两种方式：

- 通过调用 API 发起备份
 - 通过 obshell 命令发起备份

本文将以一个 3 副本的 OceanBase 集群为例，介绍如何通过 obshell 发起租户级备份。

## 前提条件

- OceanBase 集群已被 obshell 运维管理，详细的判断方法及接管操作可参见 [接管非 obshell 部署集群](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383087)。
 - OceanBase 集群的所有 OBServer 节点和 obshell 都正常运行。

## 部署模式

本文中三台机器的使用情况如下（obshell 使用默认端口 2886）：

| 角色 | 机器 | 备注 |
| --- | --- | --- |
| OBServer 节点 | 10.10.10.1 | OceanBase 数据库 zone1 |
| OBServer 节点 | 10.10.10.2 | OceanBase 数据库 zone2 |
| OBServer 节点 | 10.10.10.3 | OceanBase 数据库 zone3 |

## 通过 API 备份

#### 说明

obshell 会对被调用的 API 进行安全校验。因此，您在每次调用 API 之前都需先参考 [API 混合加密](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003382057) 一文对请求进行加密，并在 curl 命令中配置加密后的请求头部（`${request_headers}`）和请求体（`${request_body}`）。

### 步骤 1：（可选）设置租户级备份配置

调用任一 obshell 的 `/api/v1/tenant/:name/backup/config` 接口可以进行租户级备份配置。

#### 说明

若之前已配置过租户级备份，则不需要多次调用该接口。

     命令行命令   Python   GO

命令行中调用对应 API 接口的说明可参见 [设置单个租户的备份配置](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383148)。该接口会创建一个异步任务，查看任务进度的方法可参见 [获取任务的详细信息](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383101)。等待任务完成，则配置完成。

```shell
[admin@test001 ~]$ curl -H "Content-Type: application/json" -H 'X-OCS-Header:${request_headers}' -X POST -d '${request_body}' http://10.10.10.1:2886/api/v1/tenant/tenant1/backup/config

```

加密前的请求体内容如下：

```shell
{
    "data_base_uri":"file:///data/backup/tenant/data",
    "archive_base_uri":"file:///data/backup/tenant/archive",
    "log_archive_concurrency":50,
    "ha_low_thread_score":18,
    "piece_switch_interval":"3d",
    "archive_lag_target":"1h",
    "delete_policy":{
            "policy":"",
            "recovery_window":"2d"
        }
}

```

通过 obshell-sdk-python 请求对应 API 方法的介绍可参见 [设置单个租户的备份配置](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383724)。

```python
...
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.post_tenant_backup_config_sync(
    "file:///data/backup/tenant/data",
    "file:///data/backup/tenant/archive",
    log_archive_concurrency=100,
)
...

```

通过 obshell-sdk-go 请求对应 API 方法的介绍可参见 [设置单个租户的备份配置](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383802)。

```go
...
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
request := client.V1().NewTenantBackupConfigPostRequest("tenant1", "file:///data/backup/data", "file:///data/backup/archive")
request.SetLogArchiveConcurrency(100)
dag, err := client.V1().TenantBackupConfigSyncWithRequest(request)
...

```

### 步骤 2：发起租户级备份

调用任一 obshell 的 `/api/v1/tenant/:name/backup` 接口可以发起租户级备份。

命令行中调用对应 API 接口的说明可参见 [发起单个租户备份](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383147)。该接口会创建一个异步任务，查看任务进度的方法可参见 [获取任务的详细信息](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383101)。等待任务完成，则备份结束。

```shell
[admin@test001 ~]$ curl -H "Content-Type: application/json" -H 'X-OCS-Header:${request_headers}' -X POST -d '${request_body}' http://10.10.10.1:2886/api/v1/tenant/tenant1/backup

```

```shell
{
    "mode":"full"
}

```

通过 obshell-sdk-python 请求对应 API 方法的介绍可参见 [发起单个租户备份](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383731)。

```python
...
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.start_tenant_backup_sync("tenant1", "full")
...

```

通过 obshell-sdk-go 请求对应 API 方法的介绍可参见 [发起单个租户备份](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383807)。

```go
...
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
request := client.V1().NewTenantBackupRequest("tenant1")
request.SetBackupMode("full")
dag, err := client.V1().TenantBackupSyncWithRequest(request)
...

```

### 步骤 3：查看租户级备份任务

调用任一 obshell 的 `/api/v1/tenant/:name/backup/overview` 接口可以查看租户级备份任务。

命令行中调用对应 API 接口的说明可参见 [查看单个租户备份任务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383155)。

```shell
[admin@test001 ~]$ curl
-H "Content-Type: application/json"
-X GET
http://10.10.10.1:2886/api/v1/tenant/tenant1/backup/overview

```

通过 obshell-sdk-python 请求对应 API 方法的介绍可参见 [查看单个租户备份任务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383730)。

```python
...
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.get_tenant_backup_overview("tenant1")
...

```

通过 obshell-sdk-go 请求对应 API 方法的介绍可参见 [查看单个租户备份任务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003383803)。

```go
...
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
res, err := client.V1().GetTenantBackupOverview("tenant1")
...

```

## 通过 obshell 命令备份

### 步骤 1：执行备份

在任一节点调用 `obshell tenant backup` 命令，即可完成备份配置并触发一次备份。命令详见 [obshell 租户命令组](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003382040) 中 **obshell tenant backup** 部分介绍。

```shell
[admin@test001 ~]$ /home/admin/oceanbase/bin/obshell tenant backup tenant1 -a 'file:///data/backup/archive' -d 'file:///data/backup/data'

```

### 步骤 2：查询备份信息

所用命令的详细介绍可参见 [obshell 备份命令组](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003382037) 中 **obshell backup show** 部分。

```shell
[admin@test001 ~]$ /home/admin/oceanbase/bin/obshell backup show -t tenant1

```

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