首批通过分布式安全可靠测评,为关键业务系统打造
备份前准备
更新时间:2026-04-10 11:58:35
在进行数据备份前,需要进行一些备份前的准备工作,包括配置备份目的端、备份秘钥等。
配置备份目的端
配置备份目的端时,由于系统租户不包含用户数据,是集群管理用的租户,不支持备份恢复,故 sys 租户无需配置 DATA_BACKUP_DEST 参数。
注意事项
配置备份目的端时,要求每个租户的备份路径需要配置为独立的空目录,不同租户不能配置相同的备份路径。
操作步骤
sys租户或用户租户的租户管理员登录数据库。说明
MySQL 模式的管理员用户为
root用户,Oracle 模式的管理员用户为SYS用户。配置备份目的端。
系统租户为指定租户配置备份目的端
ALTER SYSTEM SET DATA_BACKUP_DEST= 'data_backup_path' TENANT = mysql_tenant;用户租户配置本租户的备份目的端
语句如下:
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 作为备份目的端。部分备份介质可能需要满足一些基本要求才能使用,有关各备份介质的具体要求,参见 物理备份与恢复概述 中的 备份介质要求。
详细设置说明如下。
阿里云 OSSNFS腾讯云 COSAWS S3当使用 OSS 作为备份目的端时,除了设置备份目的端,您还可以通过
delete_mode参数来配置备份文件的清理模式。delete_mode参数当前支持delete模式和tagging模式。如果不配置delete_mode参数,则默认使用delete模式。有关delete_mode参数的详细说明,请参见 查看数据备份相关参数。注意
使用对象存储作为备份介质时,对象存储路径的各项参数由
&符号进行分隔,请确保您输入的参数值中仅包含英文字母大小写、数字、/-_$+=以及通配符。如果您输入了上述以外的其他字符,可能会导致设置失败。示例如下:
使用 OSS 作为备份介质时,系统租户为指定租户
mysql_tenant设置备份目的端并配置备份文件的清理模式。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 作为备份介质时,用户租户为本租户设置备份目的端并配置备份文件的清理模式。
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模式后,自动清理备份数据的相关操作请参见 自动清理过期备份。注意
使用 NFS 作为备份介质时,需要注意以下事项:
data_backup_dest的值不支持设置为带有问号(?)的字符串。data_backup_dest的值必须设置为绝对路径,保证 OBServer 服务器对data_backup_dest具有写权限。- 必须保证所有 OBServer 服务器都挂载了同一个服务器的 NFS。同时,为保证备份的顺利进行,务必使用本文档中建议的参数挂载 NFS。挂载 NFS 具体操作请参见 部署 NFS 客户端。
使用 NFS 作为备份介质时,系统租户为指定租户
mysql_tenant设置备份目的端。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST= 'file:///data/nfs/backup/data' TENANT = mysql_tenant;使用 NFS 作为备份介质时,用户租户为本租户设置备份目的端。
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设置备份目的端。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 作为备份介质时,用户租户为本租户设置备份目的端。
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清理模式。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清理模式。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。配置成功后,
sys租户可通过视图CDB_OB_BACKUP_PARAMETER查看当前集群中各租户的备份路径等信息,具体操作请参见 查看数据备份相关参数。
配置后的注意事项及说明
参数 data_backup_dest 设置成功后,默认系统会在配置的目的端所在的目录下创建一个 format 文件,用于校验备份目的端的有效性信息,确保目的端内数据的完整性。故,在配置数据备份的目的端 data_backup_dest 时,需要注意以下事项:
如果
format文件不存在,则要求配置的目的端所在的目录为空,配置项才能设置成功。否则,系统会报-9080的错误,提示 format 文件不存在。如果
format文件已存在,则要求format文件的内容检验通过,配置项才能设置成功。否则,系统会报-9081的错误,提示 format 文件不匹配,format 文件的内容校验主要是检查集群、租户与备份目的端类型等与当前操作的集群、租户及备份目的端类型是否匹配。在执行备份任务时,如果
format文件不存在或format文件校验不通过,任务会发起失败。
备份秘钥
在进行数据备份前,还需要考虑源租户的加密情况,如果源租户配置了透明加密,则还需要为源租户备份秘钥。
注意
备份秘钥后,在恢复数据前,如果源租户的加密信息触发过秘钥轮转,则需要重新备份源租户的秘钥。
sys租户或用户租户的租户管理员登录数据库。备份秘钥。
系统租户为指定租户备份秘钥
ALTER SYSTEM BACKUP KEY TENANT = tenant_name TO 'backup_key_path' ENCRYPTED BY 'password';用户租户为本租户备份秘钥
语句如下:
ALTER SYSTEM BACKUP KEY TO 'backup_key_path' ENCRYPTED BY 'password';
语句中:
backup_key_path:指定秘钥待备份的路径。该路径由用户自定义,不能与数据备份或日志归档的路径相同。password:为秘钥备份路径指定加密密码。
系统租户将租户
mysql_tenant的秘钥备份到file:///data_backup_dest/key路径的示例如下:obclient [(none)]> ALTER SYSTEM BACKUP KEY TENANT = mysql_tenant TO 'file:///data_backup_dest/key' ENCRYPTED BY '******';配置成功后,可以通过视图查看秘钥备份的路径。
系统租户通过视图
CDB_OB_BACKUP_STORAGE_INFO查看秘钥备份路径SELECT * FROM oceanbase.CDB_OB_BACKUP_STORAGE_INFO;用户租户通过视图
DBA_OB_BACKUP_STORAGE_INFO查看秘钥备份路径MySQL 模式Oracle 模式语句如下:
SELECT * FROM oceanbase.DBA_OB_BACKUP_STORAGE_INFO;语句如下:
SELECT * FROM SYS.DBA_OB_BACKUP_STORAGE_INFO;有关视图
CDB_OB_BACKUP_STORAGE_INFO和DBA_OB_BACKUP_STORAGE_INFO中字段的详细说明,请参见 CDB_OB_BACKUP_STORAGE_INFO 和 DBA_OB_BACKUP_STORAGE_INFO。