---
title: "备份前准备 - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: 备份前准备 在进行数据备份前，需要进行一些备份前的准备工作，包括配置备份目的端、备份秘钥等。 配置备份目的端 配置备份目的端时，由于系统租户不包含用户数据，是集群管理用的租户，不支持备份恢复，故 sys 租户无需配置 DATA_BACKUP_DEST 参数。 注意事项 配置备份目的端时，要求每个租户的备份路径需要配置…
---
切换语言

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

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

# 备份前准备

更新时间：2026-04-10 11:58:35

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

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

## 配置备份目的端

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

### 注意事项

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

### 操作步骤

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

   #### 说明

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

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

       ```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 版本的场景，版本升级后不需要更改备份路径。

   目前，OceanBase 数据库支持 NFS、阿里云 OSS、腾讯云 COS 以及 AWS 的 S3 作为备份目的端。部分备份介质可能需要满足一些基本要求才能使用，有关各备份介质的具体要求，参见 [物理备份与恢复概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000639728) 中的 **备份介质要求**。

   详细设置说明如下。

       阿里云 OSS   NFS   腾讯云 COS   AWS S3

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

   #### 注意

   使用对象存储作为备份介质时，对象存储路径的各项参数由 `&` 符号进行分隔，请确保您输入的参数值中仅包含英文字母大小写、数字、`/-_$+=` 以及通配符。如果您输入了上述以外的其他字符，可能会导致设置失败。

   示例如下：

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

       ```sql
       obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='oss://oceanbase-test-bucket/backup/data?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/data?host=***.aliyun-inc.com&access_id=***&access_key=***&delete_mode=delete';

       ```

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

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

   #### 注意

   使用 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-1000000000639729)。  
      - 使用 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`。

   #### 注意

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

      - 需要关闭 Bucket 的 List Cache，否则会导致备份数据一致性的错误。关闭 Bucket 的 List Cache 的相关操作请联系 COS 的技术支持人员协助处理。
      - 开启了多 AZ 特性的存储桶不支持使用 APPEND Object 接口，需要关闭多 AZ 特性，否则在备份时会报错。  

   与 OSS 一样，COS 也支持通过 `delete_mode` 参数来配置备份文件的清理模式，配置方法与 OSS 一样。

      - 使用 COS 作为备份介质时，系统租户为指定租户 `mysql_tenant` 设置备份目的端。

       ```sql
       obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='cos://oceanbase-test-appid/backup/data?host=cos.ap-****.myqcloud.com&access_id=***&access_key=***&appid=***' TENANT = mysql_tenant;

       ```
      - 使用 COS 作为备份介质时，用户租户为本租户设置备份目的端。

       ```sql
       obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='cos://oceanbase-test-appid/backup/data?host=cos.ap-****.myqcloud.com&access_id=***&access_key=***&appid=***';

       ```

   示例中，`cos://` 表示使用 COS 作为备份目的端介质类型，存储桶名 `oceanbase-test-appid`，在存储桶中的路径是 `/backup/data`，同时使用 `?` 来分隔路径的其他参数，`host` 用于设置 COS 的主机地址，即 endpoint（不带存储桶名的地址），`access_id` 和 `access_key` 用于设置 `COS` 的访问密钥，`appid` 为必选参数，用于腾讯云账号的 APPID。

   与 OSS/COS 一样，S3 也支持通过 `delete_mode` 参数来配置备份文件的清理模式，配置方法与 OSS/COS 一样。

      - 使用 S3 作为备份介质时，系统租户为指定租户 `mysql_tenant` 设置备份目的端并配置为 `delete` 清理模式。

       ```sql
       obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=***&access_key=***&s3_region=***&delete_mode=delete' TENANT = mysql_tenant;

       ```
      - 使用 S3 作为备份介质时，用户租户为本租户设置备份目的端并配置为 `delete` 清理模式。

       ```sql
       obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=***&access_key=***&s3_region=***&delete_mode=delete';

       ```

   示例中，`s3://` 表示使用 S3 作为备份目的端介质类型，存储桶名 `oceanbase-test-bucket`，在存储桶中的路径是 `/backup/data`，同时使用 `?` 来分隔路径的其他参数，`host` 用于设置 Amazon S3 服务的域名，`access_id` 和 `access_key` 用于设置 AWS 服务的访问密钥，`s3_region` 为必选参数，表示 S3 的存储桶所在的地域，清理模式设置为 `delete`。
 3. 配置成功后，`sys` 租户可通过视图 `CDB_OB_BACKUP_PARAMETER` 查看当前集群中各租户的备份路径等信息，具体操作请参见 [查看数据备份相关参数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000640011)。

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

参数 `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-1000000000641198) 和 [DBA_OB_BACKUP_STORAGE_INFO](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000641272)。

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