首批通过分布式安全可靠测评,为关键业务系统打造
BACKUP
更新时间:2026-04-10 11:58:01
ALTER SYSTEM BACKUP 语句用于发起数据备份。数据备份包括全量备份和增量备份。
全量备份备份的所有的宏块,增量备份是在上一个全量备份的基础上,备份所有新增和修改过的宏块。
使用限制及注意事项
发起数据备份前,需要保证已开启归档模式,并且归档任务的
STATUS为DOING。查看日志归档任务状态的相关操作,请参见 查看归档进度。
开启归档模式的相关语法,请参见 ARCHIVELOG。
执行增量数据备份需要确保已经有全量数据备份存在,如果在不存在全量数据备份的情况下直接发起增量备份,系统默认会将增量备份转换为全量备份。
对于低版本集群升级到高版本(当前版本)集群的场景,即使当前租户在低版本中已经执行了全量备份,升级到高版本的集群中后,如果直接发起增量备份,系统默认也会将增量备份转换为全量备份。
权限要求
需要由 sys 租户的 root 用户(root@sys) 或各租户的管理员用户执行。其中:
- MySQL 模式的默认管理员用户为
root用户。 - Oracle 模式的默认管理员用户为
SYS用户。
语法
ALTER SYSTEM backup_action [DESCRIPTION [=] 'desprition'];
backup_option:
BACKUP DATABASE [PLUS ARCHIVELOG]
| BACKUP TENANT [=] {tenant_name[, tenant_name]...} [PLUS ARCHIVELOG]
| BACKUP INCREMENTAL DATABASE
| BACKUP INCREMENTAL TENANT [=] {tenant_name[, tenant_name]...}
参数说明
| 参数 | 描述 |
|---|---|
| PLUS ARCHIVELOG | 在数据备份中添加 PLUS ARCHIVELOG 关键字后,可以在数据备份过程中同时将归档日志一起备份,最终备份目录下会生成一份带有归档日志的完整数据集。由于该数据集具备恢复能力,用户可以不依赖归档日志,使用该数据集将租户的数据恢复到 MIN_RESTORE_SCN 位点(备份集最新可恢复的 SCN)。 |
| tenant_name | 系统租户指定待备份的租户名。支持同时指定多个租户名,不同租户名之间使用英文逗号(,)分隔。如果需要指定所有用户租户,需要在系统租户下执行 ALTER SYSTEM BACKUP [INCREMENTAL] DATABASE 语句。
注意仅系统租户在执行此命令时可以通过 |
| INCREMENTAL | 表示增量备份。 |
| desprition | 指定该操作的描述信息,可选。 |
示例
假设当前集群中有 3 个租户,分别是 sys、mysql_tenant 和 oracle_tenant,且租户 mysql_tenant 和 oracle_tenant 均已完成发起数据备份前的准备工作。
系统租户
系统租户对集群中的所有用户租户发起全量数据备份。
obclient [oceanbase]> ALTER SYSTEM BACKUP DATABASE;语句执行后,系统会对集群中的
mysql_tenant租户和oracle_tenant租户发起全量数据备份。系统租户对租户
mysql_tenant发起全量数据备份。obclient [oceanbase]> ALTER SYSTEM BACKUP TENANT = mysql_tenant;系统租户对租户
mysql_tenant发起带归档日志的全量数据备份,obclient [oceanbase]> ALTER SYSTEM BACKUP TENANT = mysql_tenant PLUS ARCHIVELOG;语句执行后,系统会在该租户的数据备份路径下生成一份带有归档日志的完整数据集。对于社区版用户和单机版用户,在物理备库场景下,可以使用该数据集创建出备租户,有关如何使用带归档日志的完整数据集创建备租户的详细操作,请参见 使用 BACKUP DATABASE PLUS ARCHIVELOG 功能创建备租户。
系统租户对集群中的所有租户发起增量数据备份。
obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE;本示例中,语句执行后,系统会对集群中的
mysql_tenant租户和oracle_tenant租户发起增量数据备份。系统租户对租户
mysql_tenant发起增量数据备份。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL TENANT = mysql_tenant;
用户租户
租户
mysql_tenant对本租户发起全量数据备份。obclient [oceanbase]> ALTER SYSTEM BACKUP DATABASE;租户
oracle_tenant对本租户发起带归档日志的全量数据备份。obclient [SYS]> ALTER SYSTEM BACKUP DATABASE PLUS ARCHIVELOG;租户
mysql_tenant对本租户发起增量数据备份。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE;