4.2.0 版本的备份无法自动清理

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】4.2.0
【问题描述】在 2025.10.21 有个备份,一直没有删除.当前的 recovery_window 是 1d, data_backup_dest 与 10.21 的备份目录是相同的, 我把 recovery windows 放大到 97d, 1 小时后它仍然没有删除, dba_ob_backup_delete_job_history 查看任务是执行完成的, 如何清理这个备份及其对应的 archivelog ?
【复现路径】


【附件及日志】

执行下这俩sql
SELECT BACKUP_SET_ID,
START_TIMESTAMP,
END_TIMESTAMP,
STATUS,
FILE_STATUS,
PATH
FROM oceanbase.DBA_OB_BACKUP_SET_FILES
ORDER BY BACKUP_SET_ID;

SELECT COUNT(*) FROM oceanbase.DBA_OB_BACKUP_SET_FILES
WHERE FILE_STATUS = ‘AVAILABLE’;

上面的附件中有, 就一个备份文件.

10.21后是否还有全量备份了,查询下FILE_STATUS ='full’的

查哪张表? .DBA_OB_BACKUP_SET_FILES 就一条记录.

你配置备份策略没有做全备么

没有配置备份策略.

恢复是需要全量+增量的,这个全量一直没删除是预期内的

全量的删除不判断 recovery window 吗?

从 dba_ob_backup_delete_job_history 看, 它是正常在触发的, 为什么没有扫描到 10.21 的全备?

因为21号之后没有全备了,举例你要回复昨天的数据就需要10.21的全备加上一直到现在的增量备份

那需要再做一个备份才能删除 10.21 的吗? 这样岂不是一直有一个备份?

是的。

如何不要备份,回到没有设置备份的状态?
现在磁盘空间不够了,不想要备份了. 如果是再备份一次才能清理,那更无法满足了.

手动rm掉吧

1 个赞

那数据库中这条记录怎么处理?

1 个赞

记录不会消失,重新配置 data_backup_dest 并做新备份后,旧的无效记录可能会在系统内部清理中被标记或忽略

1 个赞

学习到了

好的.thx