首批通过分布式安全可靠测评,为关键业务系统打造
add restore source 不支持快照恢复
更新时间:2026-05-13 01:51
问题现象
物理恢复通过 add restore source 的方式将 backup_dest 加载进去,并且 backup_dest 对应的数据有个特点,其中没有日志归档的数据,只有数据备份的 backup_set,恢复的时间点选择恢复到 backup_set 对应的位点,恢复报错 -4002,恢复失败。
关键诊断信息
触发条件
物理恢复通过 add restore source 的方式将 backup_dest 加载进去,并且 backup_dest 对应的数据有个特点,其中没有日志归档的数据,只有数据备份的 backup_set 。
恢复的位点选择恢复到数据 backup_set 对应的位点。
恢复会报错 -4002,关键信息如下。
[2024-03-12 21:09:35.615038] WDIAG [SHARE] ob_multi_backup_dest_util.cpp:300 [75417][0][xxxxx-xxxxx-xxxxx-xxxxx] [lt=7] [dc=0][errcode=-4002] backup set list or backup piece list is emtpy(ret=-4002, ret="OB_INVALID_ARGUMENT", piece_info_list=[], set_info_list=[{tenant_id:1001, backup_set_id:1, incarnation:1, copy_id:0, snapshot_version:1710248653077149, prev_full_backup_set_id:0, prev_inc_backup_set_id:0, prev_backup_data_version:0, pg_count:165, macro_block_count:63, finish_pg_count:165, finish_macro_block_count:63, input_bytes:132272049, output_bytes:3186533, start_time:1710248653077149, end_time:1710248672196429, compatible:4, cluster_version:12885033992, backup_type:{type:1}, status:1, result:0, cluster_id:1, backup_dest:"file:///data/nfs1/muwei_test/muwei_backup", backup_data_version:2, backup_schema_version:1710248573293288, partition_count:167, finish_partition_count:167, encryption_mode:0, passwd:"", file_status:0, start_replay_log_ts:1710248559913802, date:20240312, backup_level:0}, {tenant_id:1001, backup_set_id:2, incarnation:1, copy_id:0, snapshot_version:1710248747470445, prev_full_backup_set_id:1, prev_inc_backup_set_id:1, prev_backup_data_version:2, pg_count:165, macro_block_count:15, finish_pg_count:165, finish_macro_block_count:65, input_bytes:31608819, output_bytes:2765195, start_time:1710248747470445, end_time:1710248765286317, compatible:4, cluster_version:12885033992, backup_type:{type:2}, status:1, result:0, cluster_id:1, backup_dest:"file:///data/nfs1/muwei_test/muwei_backup", backup_data_version:3, backup_schema_version:1710248573293288, partition_count:167, finish_partition_count:167, encryption_mode:0, passwd:"", file_status:0, start_replay_log_ts:1710248559913802, date:20240312, backup_level:0}, {tenant_id:1001, backup_set_id:3, incarnation:1, copy_id:0, snapshot_version:1710248836664046, prev_full_backup_set_id:1, prev_inc_backup_set_id:2, prev_backup_data_version:3, pg_count:165, macro_block_count:16, finish_pg_count:165, finish_macro_block_count:66, input_bytes:33706069, output_bytes:2802417, start_time:1710248836664046, end_time:1710248862425892, compatible:4, cluster_version:12885033992, backup_type:{type:2}, status:1, result:0, cluster_id:1, backup_dest:"file:///data/nfs1/muwei_test/muwei_backup", backup_data_version:4, backup_schema_version:1710248573293288, partition_count:167, finish_partition_count:167, encryption_mode:0, passwd:"", file_status:0, start_replay_log_ts:1710248559913802, date:20240312, backup_level:0}])
事前巡检
无 。
事后诊断
恢复报错 -4002,rootservice.log 中对应的日志关键字如下。
backup set list or backup piece list is emtpy
问题原因
在 OceanBase 数据库 V3.x 版本中 add restore source 没有检查恢复位点是否可以不要 backup piece,要求所有的恢复必须要有 backup piece 。
问题的风险及影响
备份数据不能通过 add restore source 恢复。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
影响版本
OceanBase 数据库企业版 V3.2.3 GA(oceanbase-3.2.3.0-20220418212020)及之后版本、V3.2.4 GA(oceanbase-3.2.4.0-100000072022102819)及之后版本。
解决方法及规避方式
解决方法:
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V3.2.4 BP8(oceanbase-3.2.4.8-108000142024041520)及之后版本、V3.2.3 BP11(oceanbase-3.2.3.3-111000032024070822)及之后版本。
规避方式:
恢复的时候使用 add restore source 需要添加 piece 相关的信息。
添加数据备份文件:
alter system add restore source 'file:///{backupSetFullPath}'。backupSetFullPath:具体某个备份集的绝对路径,格式如下:
{xxx}/{clusterName}/{clusterId}/incarnation_1/{tenantId}/data/{backupSet}命令如下。alter system add restore source 'file:///obbackup/xxx/50000002/incarnation_1/1013/data/backup_set_25_full_20230619';
添加日志备份文件:
alter system add restore source 'file:///{logPieceFullPath}'。logPieceFullPath:备份集所依赖的日志切片的绝对路径,格式如下:
{xxx}/{clusterName}/{clusterId}/incarnation_1/{tenantId}/clog/{logPiece}命令如下。alter system add restore source 'file:///obbackup/xxx/50000002/incarnation_1/1013/clog/2_34_20230618';
注意
当备份文件位于 OSS 时,需要将 ak、sk 以及 endpoint 信息追加在 url 末端。
示例命令如下。
alter system add restore source 'oss://{backupSetFullPath}?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx';alter system add restore source 'oss://{logPieceFullPath}?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx';注意
若添加备份集信息时填写错误,需要通过如下命令清空已输入的信息。
示例命令如下。
alter system clear restore source;