首批通过分布式安全可靠测评,为关键业务系统打造
RESTORE
更新时间:2026-06-28 08:42:26
描述
该语句用来恢复租户的数据。
说明
- 租户级别的快照备份的恢复只将数据块进行恢复,不会进行 clog 的恢复。
- 租户快照备份的恢复只能由 sys 租户下的 root 用户发起。
语法
alter_system_restore_stmt:
ALTER SYSTEM restore_action;
restore_action:
/*按租户恢复数据*/
RESTORE <dest_tenant_name> FROM <source_tenan_tname> AT 'uri' UNTIL 'timestamp'
WITH 'restore_option';
/*加载需要恢复数据的路径*/
ADD RESTORE SOURCE 'uri';
/*撤销加载的数据路径*/
CLEAR RESTORE SOURCE;
/*租户级别的快照备份恢复*/
RESTORE <dest_tenant_name> FROM <source_tenant_name> AT <backup_file_dest_list>
WITH <restore_option>;
/*按表恢复数据*/
RESTORE <table_name_list> FOR <dest_tenant_name> FROM <source_tenant_name> AT 'uri' UNTIL
'timestamp' WITH 'restore_option';
参数解释
| 参数 | 描述 |
|---|---|
| table_name_list | 指定恢复租户中特定表格的数据,其中表名需要包含表所属的数据库(MySQL 租户)或用户(Oracle 租户)。 |
| dest_tenant_name | 指恢复的目标租户名称。 |
| source_tenant | 指备份的源集群。 |
| uri | 指备份的时候设置的 backup_dest。或者表示获取到的恢复数据的路径。 |
| backup_file_dest_list | 表示恢复文件所在的位置列表。 多个位置之间通过逗号分隔,目前仅支持 多个地址都为同一种类型的目的地。 |
| timestamp | 恢复的时间戳,需要大于等于最早备份的基线备份的 CDB_OB_BACKUP_SET_DETAILS 的START_TIME,小于等于日志备份 CDB_OB_BACKUP_ARCHIVELOG_SUMMARY 的 MAX_NEXT_TIME。 |
| restore_option | 恢复选项,支持以下几种:
|
示例
恢复租户的数据。
obclient> ALTER SYSTEM RESTORE restored_trade FROM trade AT 'oss://antsys-oceanbasebackup/backup_rd/20200323?host=cn-hangzhou-alipay-b.oss-cdn.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'; obclient> ALTER SYSTEM RESTORE restored_trade FROM trade AT 'file:///data/nfs/physical_backup_test/20200520' UNTIL '2020-05-21 09:39:54.071670' WITH 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';有关恢复租户数据的详细步骤信息,请参见 《OceanBase 数据库管理员指南》中 执行全量恢复 章节。
恢复租户中指定表的数据。
从租户
tenant1的备份中将表sales、products和orders恢复到new_tenant1中,恢复出来的数据版本为2021-02-28 08:59:45。obclient> ALTER SYSTEM RESTORE `crm`.`sales`, `crm`.`products`, `hr`.`employees` FOR new_tenant1 FROM tenant1 AT 'oss://antsys-oceanbasebackup/backup_rd/?host=cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com&access_id=xxx&access_key=xxx' UNTIL '2021-02-28 08:59:45' WITH 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';有关恢复租户中指定表的数据的详细步骤信息,请参见 《OceanBase 数据库管理员指南》中 恢复指定的表 章节。
基于租户级别的快照备份恢复。
obclient> ALTER SYSTEM RESTORE new_tenant1 FROM tenant1 AT 'file:///ob_backup/' WITH 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';有关租户级别的快照备份与恢复数据的详细步骤信息,请参见 《OceanBase 数据库管理员指南》中 快照的备份与恢复(租户级别) 章节。