欢迎访问OceanBase官网获取更多信息:https://www.oceanbase.com/
本节主要介绍如何通过命令的方式进行租户级物理恢复,目前 OceanBase 数据库支持租户级别的基于时间点的全量恢复。
恢复会先根据用户输入的命令,从备份目的端将需要的宏块数据从对应的全量备份和增量备份中恢复到目标租户,并同步拉取和回放事务日志。
前提条件
执行全量恢复前,请确认已完成恢复前准备,具体操作请参见 恢复前准备。
执行全量恢复
使用
root用户登录数据库的sys租户。执行以下语句,开始执行恢复任务。
语句如下:
恢复到指定时间戳
obclient> ALTER SYSTEM RESTORE dest_tenant_name FROM uri UNTIL TIME=timestamp WITH restore_option [DESCRIPTION description];恢复到指定 SCN
obclient> ALTER SYSTEM RESTORE dest_tenant_name FROM uri UNTIL SCN=scn WITH restore_option [DESCRIPTION description];恢复到最新位点
obclient> ALTER SYSTEM RESTORE dest_tenant_name FROM uri WITH restore_option [DESCRIPTION description];
其中
uri需要分别指定数据备份路径和日志归档路径,UNTIL [TIME|SCN]指用户指定的恢复终点,恢复到该位点为止,但不包括该位点。restore_option支持指定pool_list、locality、primary_zone、kms_encrypt,pool_list为必选项,其余为可选项。 语句中各参数的详细说明请参见 RESTORE。恢复示例如下:
NFS
从数据备份路径
file:///data/nfs/backup/data与日志归档路径file:///data/nfs/backup/archive恢复租户mysql到指定时间戳2022-06-1 00:00:00, 指定资源池为restore_poolobclient> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' until TIME='2022-06-1 00:00:00' WITH 'pool_list=restore_pool';从数据备份路径
file:///data/nfs/backup/data与日志归档路径file:///data/nfs/backup/archive恢复租户mysql恢复到当前最新的归档位点, 指定资源池为restore_poolobclient> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' WITH 'pool_list=restore_pool';从数据备份路径
file:///data/nfs/backup/data与日志归档路径file:///data/nfs/backup/archive恢复租户mysql到指定 scn1658285759724047000, 指定资源池为restore_poolobclient> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' until SCN='1658285759724047000' WITH 'pool_list=restore_pool';从数据备份路径
file:///data/nfs/backup/data与日志归档路径file:///data/nfs/backup/archive恢复租户mysql到指定时间戳2022-06-1 00:00:00, 指定资源池为restore_pool, 副本 Locality 为F@z1,F@z2,F@z3。obclient> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' until TIME='2022-06-1 00:00:00' WITH 'pool_list=restore_pool&locality=F@z1,F@z2,F@z3';从数据备份路径
file:///data/nfs/backup/data与日志归档路径file:///data/nfs/backup/archive恢复租户mysql到指定时间戳2022-06-1 00:00:00, 指定资源池为restore_pool, 副本 Locality 为F@z1,F@z2,F@z3, 并指定primary_zone为z1。obclient> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' until TIME='2022-06-1 00:00:00' WITH 'pool_list=restore_pool&locality=F@z1,F@z2,F@z3&primary_zone=z1';
OSS
除
url参数有所变更外, 其余参数使用与NFS一致。从 OSS 备份路径
oss://oceanbase-test-bucket/backup/data/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx与 OSS 日志归档路径oss://oceanbase-test-bucket/backup/archive/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx恢复租户mysql到指定时间戳2022-06-1 00:00:00, 指定资源池为restore_pool。obclient> 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-1 00:00:00' WITH 'pool_list=restore_pool';
发起恢复任务后,您可以通过视图查看恢复的进度和结果,具体操作请参见 查看恢复进度。
欢迎访问OceanBase官网获取更多信息:https://www.oceanbase.com/




