---
title: "备份前准备 - OceanBase 数据库 V4.2.0 | OceanBase 文档中心"
description: 备份前准备 在进行数据备份前，需要进行一些备份前的准备工作，包括配置备份目的端、备份秘钥等。 数据备份架构 数据备份优先选择 Follower 副本进行备份。数据备份的架构如下图所示。 配置备份目的端 配置备份目的端时，由于系统租户不包含用户数据，是集群管理用的租户，不支持备份恢复，故 sys 租户无需配置 DATA…
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.2.0

# 备份前准备

更新时间：2025-09-04 11:02:50

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.0/zh-CN/600.manage/600.backup-and-recovery/400.data-backup/100.preparation-before-data-backup.md)  

在进行数据备份前，需要进行一些备份前的准备工作，包括配置备份目的端、备份秘钥等。

## 数据备份架构

数据备份优先选择 Follower 副本进行备份。数据备份的架构如下图所示。

![数据备份架构图](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/observer-enterprise/V4.2.1/600.manage/daba-backup-architecture-new.png)

## 配置备份目的端

配置备份目的端时，由于系统租户不包含用户数据，是集群管理用的租户，不支持备份恢复，故 `sys` 租户无需配置 `DATA_BACKUP_DEST` 参数。

### 注意事项

配置备份目的端时，要求每个租户的备份路径需要配置为独立的空目录，不同租户不能配置相同的备份路径。

### 操作步骤

1. `sys` 租户或用户租户的租户管理员登录数据库。

   #### 说明

   MySQL 模式的管理员用户为 ` root` 用户，Oracle 模式的管理员用户为 `SYS` 用户。
 2. 配置备份目的端。

   目前，OceanBase 数据库支持 NFS、阿里云 OSS 作为备份目的端。

      - 系统租户为指定租户配置备份目的端

       ```sql
       ALTER SYSTEM SET DATA_BACKUP_DEST = 'data_backup_path' TENANT = mysql_tenant;

       ```
      - 用户租户配置本租户的备份目的端

       语句如下：

       ```sql
       ALTER SYSTEM SET DATA_BACKUP_DEST = 'data_backup_path';

       ```  

   #### 注意

   对于从 OceanBase 数据库 V4.0.x 版本升级到 V4.1.0 版本的场景，版本升级后需要更改备份路径。对于从 OceanBase 数据库 V4.1.x 版本升级到 V4.2.0 版本的场景，版本升级后不需要更改备份路径。

   详细设置说明如下。

       阿里云 OSS   NFS

   当使用 OSS 作为备份目的端时，除了设置备份目的端，您还可以通过 `delete_mode` 参数来配置备份文件的清理模式。`delete_mode` 参数当前支持 `delete` 模式和 `tagging` 模式。如果不配置 `delete_mode` 参数，则默认使用 `delete` 模式。有关 `delete_mode` 参数的详细说明，请参见 [查看数据备份相关参数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033544)。

   #### 注意

   使用 OSS 作为备份介质时，其 `access_key` 参数中不能包含逗号等特殊符号。

   使用 OSS 作为备份介质时，系统租户为指定租户 `mysql_tenant` 设置备份目的端并配置备份文件的清理模式的示例如下：

   ```sql
   obclient> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=***.aliyun-inc.com&access_id=******&access_key=******&delete_mode=delete' TENANT = mysql_tenant;

   ```

   使用 OSS 作为备份介质时，用户租户为本租户设置备份目的端并配置备份文件的清理模式的示例如下：

   ```sql
   obclient> ALTER SYSTEM SET data_backup_dest='oss://oceanbase-test-bucket/backup/?host=***.aliyun-inc.com&access_id=******&access_key=******&delete_mode=delete';

   ```

   示例中，`oss://` 表示使用 OSS 作为备份目的端介质类型，存储桶名 `oceanbase-test-bucket`，在存储桶中的路径是 `/backup`，同时使用 `?` 来分隔路径的其他参数，`host` 用于设置存储桶的主机地址，`access_id` 和 `access_key` 用于设置 `OSS` 的访问密钥，清理模式设置为 `delete`。

   设置 `delete` 模式或 `tagging` 模式后，自动清理备份数据的相关操作请参见 [自动清理过期备份](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033528)。

   #### 注意

   使用 NFS 作为备份目的端时，需要注意以下事项：

      - `data_backup_dest` 的值不支持设置为带有问号（?）的字符串。
      - `data_backup_dest` 的值必须设置为绝对路径，保证 OBServer 服务器对 `data_backup_dest` 具有写权限。
      - 必须保证所有 OBServer 服务器都挂载了同一个服务器的 NFS。同时，为保证备份的顺利进行，务必使用本文档中建议的参数挂载 NFS。挂载 NFS 具体操作请参见 [部署 NFS 客户端](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033267)。  

   使用 NFS 作为备份介质时，系统租户为指定租户 `mysql_tenant` 设置备份目的端的示例如下：

   ```sql
   obclient> ALTER SYSTEM SET DATA_BACKUP_DEST= 'file:///data/nfs/backup/data' TENANT = mysql_tenant;

   ```

   使用 NFS 作为备份介质时，用户租户为本租户设置备份目的端的示例如下：

   ```sql
   obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='file:///data/nfs/backup/data';

   ```

   示例中，`file://` 表示使用 NFS 作为备份目的端的介质类型，备份路径为 `file:///data/nfs/backup/data`。
 3. 配置成功后，`sys` 租户可通过视图 `CDB_OB_BACKUP_PARAMETER` 查看当前集群中各租户的备份路径等信息，具体操作请参见 [查看数据备份相关参数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033544)。

### 配置后的注意事项及说明

参数 `data_backup_dest` 设置成功后，默认系统会在配置的目的端所在的目录下创建一个 `format` 文件，用于校验备份目的端的有效性信息，确保目的端内数据的完整性。故，在配置数据备份的目的端 `data_backup_dest` 时，需要注意以下事项：

- 如果 `format` 文件不存在，则要求配置的目的端所在的目录为空，配置项才能设置成功。否则，系统会报 `-9080` 的错误，提示 format 文件不存在。
 - 如果 `format` 文件已存在，则要求 `format` 文件的内容检验通过，配置项才能设置成功。否则，系统会报 `-9081` 的错误，提示 format 文件不匹配， format 文件的内容校验主要是检查集群、租户与备份目的端类型等与当前操作的集群、租户及备份目的端类型是否匹配。
 - 在执行备份任务时，如果 `format` 文件不存在或 `format` 文件校验不通过，任务会发起失败。

## 备份秘钥

在进行数据备份前，还需要考虑源租户的加密情况，如果源租户配置了透明加密，则还需要为源租户备份秘钥。

#### 注意

备份秘钥后，在恢复数据前，如果源租户的加密信息触发过秘钥轮转，则需要重新备份源租户的秘钥。

1. `sys` 租户或用户租户的租户管理员登录数据库。
 2. 备份秘钥。

      - 系统租户为指定租户备份秘钥

       ```sql
       ALTER SYSTEM BACKUP KEY TENANT = tenant_name TO 'backup_key_path' ENCRYPTED BY 'password';

       ```
      - 用户租户为本租户备份秘钥

       语句如下：

       ```sql
       ALTER SYSTEM BACKUP KEY TO 'backup_key_path' ENCRYPTED BY 'password';

       ```

   语句中：

      - `backup_key_path`：指定秘钥待备份的路径。该路径由用户自定义，不能与数据备份或日志归档的路径相同。
      - `password`：为秘钥备份路径指定加密密码。

   系统租户将租户 `mysql_tenant` 的秘钥备份到 `file:///data_backup_dest/key` 路径的示例如下：

   ```sql
   obclient [(none)]> ALTER SYSTEM BACKUP KEY TENANT = mysql_tenant TO 'file:///data_backup_dest/key' ENCRYPTED BY '******';

   ```
 3. 配置成功后，可以通过视图查看秘钥备份的路径。

      - 系统租户通过视图 `CDB_OB_BACKUP_STORAGE_INFO` 查看秘钥备份路径

       ```sql
       SELECT * FROM oceanbase.CDB_OB_BACKUP_STORAGE_INFO;

       ```
      - 用户租户通过视图 `DBA_OB_BACKUP_STORAGE_INFO` 查看秘钥备份路径

           MySQL 模式   Oracle 模式

       语句如下：

       ```sql
       SELECT * FROM oceanbase.DBA_OB_BACKUP_STORAGE_INFO;

       ```

       语句如下：

       ```sql
       SELECT * FROM SYS.DBA_OB_BACKUP_STORAGE_INFO;

       ```

       有关视图 `CDB_OB_BACKUP_STORAGE_INFO` 和 `DBA_OB_BACKUP_STORAGE_INFO` 中字段的详细说明，请参见 [CDB_OB_BACKUP_STORAGE_INFO](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000089942) 和 [DBA_OB_BACKUP_STORAGE_INFO](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000089943)。

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