首批通过分布式安全可靠测评,为关键业务系统打造
RESTORE
更新时间:2026-04-16 00:11:36
描述
ALTER SYSTEM RESTORE 语句用于恢复租户备份的数据。
使用限制及注意事项
OceanBase 数据库的物理恢复支持在同集群内恢复,也支持在不同的集群内恢复。
使用
ALTER SYSTEM RESTORE语句进行物理恢复前,请务必确认待恢复的备份数据的版本,OceanBase 数据库当前仅支持将低版本的备份数据恢复到同版本或高版本中,同版本下的小版本之间也不支持逆向恢复。使用
ALTER SYSTEM RESTORE语句进行物理恢复前,请确认已创建待恢复的租户所需的资源,为待恢复的租户创建所需资源的具体操作请参见 恢复前准备。使用
ALTER SYSTEM RESTORE语句恢复出来的租户默认为备租户,如果需要转为主租户提供服务,需要再执行ALTER SYSTEM ACTIVATE STANDBY语句,有关ALTER SYSTEM ACTIVATE STANDBY语句的详细介绍,请参见 ACTIVATE STANDBY。
权限要求
仅 sys 租户的 root 用户(root@sys) 可以执行 ALTER SYSTEM RESTORE 语句。
语法
ALTER SYSTEM RESTORE dest_tenant_name FROM uri [ UNTIL {TIME='timestamp' | SCN=scn} ] WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION [=] 'description'];
restore_option:
pool_list=pool_name[&locality=locality][&primary_zone=zone_name][&concurrency=int_num][&kms_encrypt={true | false}]
参数解释
| 参数 | 描述 |
|---|---|
| dest_tenant_name | 指定要恢复的租户的名称。 |
| uri | 指定备份时设置的数据备份路径 backup_data_dest 与日志归档路径 log_archive_dest,该值至少包含一条数据备份路径和一条日志归档路径,路径之间使用英文逗号(,)分隔。 目前 OceanBase 数据库支持的归档目的端介质为 NFS 、阿里云 OSS、AWS S3 以及兼容 S3 协议的对象存储,例如:华为 OBS、Google GCS、腾讯云 COS。 |
| TIME='timestamp' | SCN=scn | 指定恢复的终点,恢复到该位点位置,且包含该位点。当指定恢复到 TIME 或 SCN 时, 必须以 = 来连接指定的值。如果不指定 UNTIL 子句,则默认恢复到最新的位点。timestamp 仅支持 YYYY-MM-DD HH24:MI:SS.FF 格式,精确到纳秒。有关恢复时如何选取 timestamp 与 scn 的值的详细介绍,请参见 物理恢复相关参数介绍。 |
| restore_option | 支持 pool_list、locality、primary_zone、concurrency、kms_encrypt 等参数,不同参数之间通过 & 分隔。在指定 locality 和 primary_zone 时,建议尽量与源租户保持同构。如果不同构,待租户恢复后激活为主租户可能会产生负载均衡操作,影响性能。
|
| WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password' | 指定加密租户的秘钥备份信息。仅当源租户配置了透明加密,才需要在恢复时指定秘钥备份相关的信息。其中:
|
| description | 用户指定的描述信息,为可选项。 |
示例
从 NFS 数据备份路径与 NFS 日志归档路径恢复租户
mysql到指定时间戳2022-06-01 00:00:00, 指定资源池为restore_pool, 副本 Locality 为F@z1,F@z2,F@z3, 并指定primary_zone为z1。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' UNTIL TIME='2022-06-01 00:00:00' WITH 'pool_list=restore_pool&locality=F@z1,F@z2,F@z3&primary_zone=z1';从 NFS 数据备份路径与 NFS 日志归档路径恢复租户
mysql到当前最新的归档位点, 指定资源池为restore_pool,同时指定数据恢复的并发度concurrency为 50。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' WITH 'pool_list=restore_pool&concurrency=50';从 NFS 数据备份路径与 NFS 日志归档路径恢复租户
mysql到指定 SCN, 指定资源池为restore_pool。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' UNTIL SCN=1658285759724047000 WITH 'pool_list=restore_pool';从 OSS 备份路径与 OSS 日志归档路径恢复租户
mysql到指定时间戳2022-06-01 00:00:00, 指定资源池为restore_pool。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'oss://oceanbase-test-bucket/backup/data/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx,oss://oceanbase-test-bucket/backup/archive/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx' UNTIL TIME='2022-06-01 00:00:00' WITH 'pool_list=restore_pool';在目标集群上执行
RESTORE命令,使用租户的备份和归档,创建并恢复出备租户。obclient [oceanbase]> ALTER SYSTEM RESTORE restore_oracle_tenant FROM 'file:///data/nfs/backup//ob_backup_oracle_tenant/archive,file:///data/nfs/backup//ob_backup_oracle_tenant/data' UNTIL TIME='2022-11-11 15:04:23.825558' with 'pool_list=small_pool_2&primary_zone=z1';