关于物理备份过期不自动删除问题

【产品名称】社区版 OceanBase

【产品版本】3.1.1

【问题描述】集群做了物理备份,参数设置如下

alter system set backup_recovery_window=‘7d’;

alter system set auto_delete_expired_backup=true;

启用和开启了自动删除,只保留7天的备份,过了2周了。但数据没有删除,麻烦工程师看看是哪里的问题

当前已经有的备份数据

select * from __all_backup_set_files where tenant_id = 1 and file_status = 'AVAILABLE';

 1.backup_set的路径,GCONF中的路径是否一致,如果不一致,那么自动清理是不会管已经换过backup_dest的备份数据

2.如果只有一份数据,这个数据可能过期也可能没有过期,这个时候符合预期,原因是我们有保留1一份有效数据的原则

3.如果有多个备份数据,那么需要看一下备份的 type,如果type是一个D,多个I,那么D和I的数据都不能删除,原因是我们目前只支持diffrental incremtal backup,所以恢复需要的增量和全量都是需要依赖的

4.1) select value from __all_tenant_backup_info where name = 'delete_obsolete_backup_snapshot';

2) delete_obsolete_backup_snapshot 和backup_set_files中记录的snapshot_version进行比较,判断数据是否已经过期

如果已经过期, 那么需要查看一下__all_tenant_backup_clean_info 中是否有正在做的清理任务,如果有的话比较一下parameter中的值和snapshot_version;没有正在做的清理任务需要查一下历史表__all_backup_clean_info_history where tenant_id = 1 order by gmt_create desc limit 1 看下最近记录的parameters

-----------上面的环境经排查未自动删除的原因是因为只有一份数据,一份数据不会自动删除,只有有多个备份数据时才会自动删除;

收到,感谢工程师!