首批通过分布式安全可靠测评,为关键业务系统打造
执行全量恢复
更新时间:2026-06-23 19:18:42
本节主要介绍如何通过命令和 OCP 的方式进行物理恢复,目前 OceanBase 数据库支持租户级别的基于时间点的全量恢复。
OceanBase 数据库的恢复支持在同集群内恢复,也支持在不同的集群内恢复。
通过 SQL 语句执行全量恢复
恢复会先根据用户输入的命令,从备份目的端将需要的宏块数据从对应的全量备份和增量备份中恢复到目标租户,然后再拉取和回放事务日志。
前提条件
执行全量恢复前,请确认已完成恢复前准备,具体操作请参见 恢复前准备。
执行全量恢复
使用
root用户登录数据库的sys租户。(可选)执行以下语句,设置备份的恢复密码。
仅在数据备份时添加了密码的场景下才需要设置备份的恢复密码。
obclient> SET DECRYPTION IDENTIFIED BY 'password';其中,
password需要替换为备份时添加的密码。如果全量备份和增量备份设置的密码不一样,则需要输入多个密码,密码之间使用英文逗号分隔(全量备份密码放在前面,增量备份密码放在后面)。示例:
obclient> SET DECRYPTION IDENTIFIED BY '******'; obclient> SET DECRYPTION IDENTIFIED BY '******','******';执行以下语句,开始执行恢复任务。
obclient> ALTER SYSTEM RESTORE <dest_tenant_name> FROM <source_tenant_name> at 'uri' UNTIL 'timestamp' WITH 'restore_option';部分参数说明如下表所示。
参数 描述 dest_tenant_name 指恢复的新租户的名称。 source_tenant_name 指源集群的租户。 uri 指备份时设置的 backup_dest。timestamp 指恢复的时间戳,需要大于等于最早备份的数据备份的 CDB_OB_BACKUP_SET_DETAILS的START_TIME,小于等于日志备份CDB_OB_BACKUP_ARCHIVELOG_SUMMARY的MAX_NEXT_TIME。restore_option 支持 backup_cluster_name、backup_cluster_id、pool_list、locality、primary_zone、kms_encrypt:backup_cluster_name为必选项,填写源集群的名称。backup_cluster_id为必选项,填写源集群的cluster_id.pool_list为必选项,填写用户的资源池。多个资源池之间用英文逗号(,)分隔。locality为可选项,填写新租户副本分布的 Locality 信息,需要满足与新租户所在集群的pool_list的 Zone 信息相匹配,默认使用源租户的 Locality。若填写的信息与新租户所在集群的pool_list 的 Zone 信息不匹配,则系统会重置为缺省 Locality,即按 resource_pool 的zone_list为每个 Zone 设一个 F 副本。
例如,源租户的 Locality 为"F@z1,F@z2,F@z3",新租户所在集群的 Zone 分布为"z1,z2,z3,z4",则新租户的 Locality 使用源租户的 Locality。若源租户的 Locality为"F@z1,F@z2,F@z3,F@z4,F@z5",新租户所在集群的 Zone 分布为"z1,z2,z3",则新租户的 Locality 使用所在集群的全部的 Zone,即新租户的 Locality 为"F@z1,F@z2,F@z3"。primary_zone为可选项,填写新租户的 Leader 副本的偏好位置,需要满足与pool_list及locality的匹配,即需要满足 Zone 信息匹配以及primary_region内至少有两个 Paxos 成员等限制,默认使用源租户的 Primary Zone。若填写的信息与新租户所在集群的pool_list及locality不匹配,则系统会将其重置为缺省primary_zone,即按locality的zone_list将 Leader 随机分布在这些 Zone 中。
例如,源租户的 Locality 为"F@z1,F@z2,F@z3",Primary Zone 为z1,新租户所在集群的 Zone 分布为"z1,z2,z3,z4",则新租户的 Primary Zone 也为z1。若源租户的 Locality 为"F@z1,F@z2,F@z3,F@z4,F@z5",Primary Zone 为z1,新租户所在集群的 Zone 分布是"z1,z2,z3",则新租户的 Locality 为"F@z1,F@z2,F@z3", 同时 Primary Zone 为"z1,z2,z3"。kms_encrypt为可选项,为true则表示在恢复时需要使用在恢复准备操作中指定的kms_encrypt_info。
恢复示例:
NFS
obclient> ALTER SYSTEM RESTORE restored_trade FROM trade at 'file:///data/nfs/backup' until '2020-05-21 09:39:54.071670' with 'backup_cluster_name=xxx&backup_cluster_id=xxx&pool_list=xxx';OSS
obclient> ALTER SYSTEM RESTORE restored_trade FROM trade at 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx' until '2020-03-23 08:59:45' with 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';OBS
obclient> ALTER SYSTEM RESTORE restored_trade from trade at 'obs://oceanbase-test-appid/backup?host=obs.cn-east-2.myhuaweicloud.com&access_id=xxx&access_key=xxx&appid=xxx' until ' 2020-03-23 08:59:45' with 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';
发起恢复任务后,您可以通过视图查看恢复的进度和结果,具体操作请参见 查看恢复进度和结果。
通过 OCP 进行全量恢复
您也可以在 OCP 上对已备份的集群发起恢复操作。
登录 OCP。
进入 发起恢复 页面。
路径 1,在全局页面发起恢复。
在左导航栏单击 备份恢复 > 恢复 。
进入 恢复 页面,在右上方单击 发起恢复 。
路径 2,在某集群运维页面对该集群发起恢复。
在左导航栏单击 集群 ,进入 集群 页面。
在 集群列表 或 资源水位 中单击要恢复的集群名,进入该集群的 总览 页面。
在左导航栏单击 备份恢复 。
在该集群的 备份恢复 页面单击 发起恢复 。
说明
若有如下情况,则无法从路径 2 下对该集群发起恢复。
该集群状态不为"运行中"。
该集群没有备份策略。
目前 OCP 还未提供无备份策略情况下,通过路径 2 发起恢复的入口。
(可选)在全局页面发起恢复时,需填写存储配置。

参数 说明 存储类型 可选择如下介质: - File:NFS 介质。
- OSS:阿里云 OSS 存储对象,仅 OceanBase V2.2.76 及以上版本支持。
存储目录 选择备份文件所在的目录。 - 可单击上方 选择已有配置 选择列表中的配置,则 访问域名 、 访问用户 、 访问秘钥 、 解析主机 等会自动填充。
- 也可以手动输入。
访问域名 填写备份文件云存储端的域名。 - 当 存储类型 为 OSS 时显示,填写阿里云 OSS 存储对象的访问域名。
访问用户 当 存储类型 为 OSS 时显示,填写备份文件在云存储端的访问用户。 访问秘钥 当 存储类型 为 OSS 时显示,填写备份文件云存储端的访问用户的秘钥。 解析主机 - 存储目录 配置为 选择已有配置 时,解析主机 会自动填充。存储目录为手动输入时,解析主机 不会自动填充,您可以参考界面提示进行手动选择。
- 单击 解析 ,获取可恢复的集群列表。
选择 恢复源与时间 ,在下拉框中选择应数据。
参数 说明 源集群 集群运维页面对某集群发起恢复时,源集群已默认,不需要选择。 源租户 请选择需恢复的租户。 恢复日期 需在提示的可恢复时间段内。 恢复时间点 在提示的时间段内选择要恢复的时间点。 
选择恢复目标租户,在下拉框中选择运行状态的集群,在租户名称中输入新的租户名称。
以下集群不能作为恢复目标:
主备模式的集群
由于物理恢复出来的数据,无法同步给对应的备库或主库(主备库只能同步 clog 数据,无法同步基线数据),故不能选择主备模式的集群。
状态为不可用的集群
填写如下参数配置 Zone ,并对 Zone 进行优先级排序。
参数 说明 副本类型 取值范围: - 全功能型副本:目前支持的普通副本,拥有事务日志、MemTable 和 SSTable 等全部完整的数据和功能。它可以随时快速切换为 Leader 以对外提供服务。
- 日志型副本:只包含日志的副本,没有 MemTable 和 SSTable。它参与日志投票并对外提供日志服务,可以参与其他副本的恢复,但自己不能变为主提供数据库服务。
- 只读型副本:包含完整的日志、MemTable 和 SSTable 等。建议在业务对读取数据的一致性要求不高时选择。
Unit 规格 该副本所占用的资源规格。 - 可选择已有规格。
- 也可根据实际需要新建规格后再选择。
Unit 数量 该副本所占用的资源数量。 
单击 发起恢复 。