在进行备份前,需要配置备份目的端及备份相关的参数。
配置备份目的端
sys租户或用户租户的租户管理员登录数据库。说明
MySQL 模式的管理员用户为
root用户,Oracle 模式的管理员用户为SYS用户。配置备份目的端。
目前,OceanBase 数据库支持 NFS、阿里云 OSS 作为备份目的端。
系统租户为指定租户配置备份目的端
ALTER SYSTEM SET DATA_BACKUP_DEST = 'data_backup_path' TENANT = mysql_tenant;用户租户配置本租户的备份目的端
ALTER SYSTEM SET DATA_BACKUP_DEST = 'data_backup_path';
例如:
NFS
注意
使用 NFS 作为备份目的端时,需要注意以下事项:
data_backup_dest的值不支持设置为带有问号(?)的字符串。data_backup_dest的值必须设置为绝对路径,保证 OBServer 对data_backup_dest具有写权限。必须保证所有 OBServer 都挂载了同一个服务器的 NFS。同时,为保证备份的顺利进行,务必使用本文档中建议的参数挂载 NFS。挂载 NFS 具体操作请参见 部署 NFS 客户端。
设置备份目的端的示例如下:
obclient> ALTER SYSTEM SET data_backup_dest='file:///data/nfs/backup/data';阿里云 OSS
当使用 OSS 作为备份目的端时,除了设置备份目的端,您还可以通过
delete_mode参数来配置备份文件的清理模式。delete_mode参数当前支持以下两种备份文件的清理模式:delete:表示清理模式为直接删除满足要求的备份文件。配置为该模式后,当您通过自动或手动的方式清理备份文件时,对于满足清理要求的备份文件,系统会直接将其删除。该模式为默认的清理模式,如果不配置
delete_mode参数,则使用默认清理模式delete。tagging:表示清理模式为对满足清理要求的备份文件设置 Tag,备份文件将仍然保留。配置为该模式后,当您通过自动或手动的方式清理备份文件时,对于满足清理要求的备份文件,系统会给这些文件设置标签,标签的
key为"delete_mode",value为"tagging",以便后续您可以通过设置的标签在 OSS 上对这些文件的生命周期进行管理。
设置
delete模式或tagging模式后,自动清理备份数据的相关操作请参见 自动清理过期备份。设置备份目的端并配置备份文件的清理模式的示例如下:
obclient> ALTER SYSTEM SET data_backup_dest='oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete';
配置成功后,
SYS租户可通过视图CDB_OB_BACKUP_PARAMETER查看当前集群中各租户的备份路径等信息。obclient> SELECT * FROM oceanbase.CDB_OB_BACKUP_PARAMETER\G *********************** 1. row ******************** TENANT_ID: 1002 NAME: data_backup_dest VALUE: file:///data/nfs/backup/data 1 rows in set
注意事项及说明
配置项 data_backup_dest 设置成功后,默认系统会在配置的目的端所在的目录下创建一个 format 文件,用于校验备份目的端的有效性信息,确保目的端内数据的完整性。故,在配置数据备份的目的端 data_backup_dest 时,需要注意以下事项:
如果
format文件不存在,则要求配置的目的端所在的目录为空,配置项才能设置成功。否则,系统会报-9080的错误,提示 format 文件不存在。如果
format文件已存在,则要求format文件的内容检验通过,配置项才能设置成功。否则,系统会报-9081的错误,提示 format 文件不匹配, format 文件的内容校验主要是检查集群、租户与备份目的端类型等与当前操作的集群、租户及备份目的端类型是否匹配。在执行备份任务时,如果
format文件不存在或format文件校验不通过,任务会发起失败。




