首批通过分布式安全可靠测评,为关键业务系统打造
发起全量数据备份
更新时间:2026-05-30 08:47:21
日志归档开始后,可以发起全量数据备份。
前提条件
在执行全量数据备份前,您需要进行以下事项:
备份准备(可选)
发起数据备份前,您可以为备份后的备份集设置密码。
使用
root用户登录集群的sys租户。(可选)执行以下命令,设置备份的密码。
说明
该密码为备份后的备份集的密码。如果设置了该选项,在使用该备份集进行恢复时,需要输入该密码,且该密码不能被删除。
obclient [(none)]> SET ENCRYPTION ON IDENTIFIED BY 'password' ONLY;示例:
obclient [(none)]> SET ENCRYPTION ON IDENTIFIED BY '******' ONLY;说明
设置备份密码后,在未发起数据备份前,您可以通过断开会话再重新连接数据库的方式取消本次设置。
发起全量备份
完成准备工作后,您可以通过以下方式开启全量数据备份。
假设当前集群中有 3 个租户,分别是 sys、mysql_tenant 和 oracle_tenant,且租户 mysql_tenant 和 oracle_tenant 均已完成发起数据备份前的准备工作。
系统租户发起全量备份
sys 租户可以对集群中的所有租户或指定租户发起全量数据备份。
使用
root用户登录集群的sys租户。(可选)设置租户的备份并发度。
备份并发度由租户级配置项
ha_low_thread_score控制,该配置项用于指定备份、备份清理等中低优先级别任务队列使用的线程数,取值范围为 [0, 100],默认值为0。在开始备份前,可以适当提高配置项ha_low_thread_score的值,建议每次将数值翻倍。查看配置项ha_low_thread_score的相关操作,请参见 查看数据备份相关参数。有关配置项
ha_low_thread_score的详细说明,请参见 ha_low_thread_score。设置集群中所有租户的备份并发度
obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10 TENANT = all_user;或者
obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10 TENANT = all;说明
OceanBase 数据库从 V4.2.1 版本开始,
TENANT = all_user与TENANT = all语义相同,在需要生效范围为所有用户租户时,推荐使用TENANT = all_user,后续TENANT = all将废弃不再使用。设置集群中指定租户的备份并发度
obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10 TENANT = mysql_tenant;
执行以下语句,发起全量数据备份。
对集群中的所有租户发起全量数据备份
该方式会对集群中的所有租户发起全量数据备份。
ALTER SYSTEM BACKUP DATABASE [PLUS ARCHIVELOG];其中,
PLUS ARCHIVELOG为可选。添加PLUS ARCHIVELOG后,可以在数据备份过程中同时将归档日志一起备份,最终备份目录下会生成一份带有归档日志的完整数据集。该数据集具备恢复能力,您可以不依赖归档日志,使用该数据集将租户的数据恢复到min_restore_scn位点。此外,对于社区版用户和单机版用户,可以通过该数据集创建备租户,有关如何使用带归档日志的完整数据集创建备租户的详细操作,请参见 使用 BACKUP DATABASE PLUS ARCHIVELOG 功能创建备租户。对集群中的所有租户发起全量数据备份的示例如下:
obclient [(none)]> ALTER SYSTEM BACKUP DATABASE;命令执行成功后,在本示例中,系统会对集群中的
mysql_tenant和oracle_tenant租户发起全量数据备份。对集群中的指定租户发起全量数据备份
该方式仅对指定租户发起全量数据备份,不会影响集群中的其他租户。语句如下:
ALTER SYSTEM BACKUP TENANT = mysql_tenant [PLUS ARCHIVELOG];对
mysql_tenant租户发起全量数据备份的示例如下:obclient [(none)]> ALTER SYSTEM BACKUP TENANT = mysql_tenant;说明
同时指定多个租户时,租户名之间使用英文逗号 (`,`) 分隔。
命令执行成功后,在本示例中,系统会对集群中的
mysql_tenant租户发起全量数据备份。
全量备份过程中,可以实时查看全量备份进度,具体操作请参见 查看数据备份进度。
用户租户发起全量备份
用户租户可以对本租户发起全量数据备份,不会影响其他租户。
租户管理员登录到数据库。
本示例中,您可以使用
root用户登录mysql_tenant租户;或者也可以使用SYS用户登录oracle_tenant租户。(可选)设置备份并发度。
备份并发度由租户级配置项
ha_low_thread_score控制,该配置项用于指定备份、备份清理等中低优先级别任务队列使用的线程数,取值范围为 [0, 100],默认值为0。在开始备份前,可以适当提高配置项ha_low_thread_score的值,建议每次将数值翻倍。查看配置项ha_low_thread_score的相关操作,请参见 查看数据备份相关参数。有关配置项
ha_low_thread_score的详细说明,请参见 ha_low_thread_score。obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10;执行以下语句,发起全量数据备份。
语句如下:
ALTER SYSTEM BACKUP DATABASE [PLUS ARCHIVELOG];其中,
PLUS ARCHIVELOG为可选。添加PLUS ARCHIVELOG后,可以在数据备份过程中同时将归档日志一起备份,最终备份目录下会生成一份带有归档日志的完整数据集。该数据集具备恢复能力,您可以不依赖归档日志,使用该数据集将租户的数据恢复到min_restore_scn位点。此外,对于社区版用户和单机版用户,可以通过该数据集创建备租户,有关如何使用带归档日志的完整数据集创建备租户的详细操作,请参见 使用 BACKUP DATABASE PLUS ARCHIVELOG 功能创建备租户。用户租户对本租户发起全量数据备份的示例如下:
obclient [(none)]> ALTER SYSTEM BACKUP DATABASE;命令执行成功后,系统会对本租户发起全量数据备份。
全量备份过程中,可以实时查看全量备份进度,具体操作请参见 查看数据备份进度。