半个月前的日志备份一直没有自动清理掉

【 使用环境 】生产环境
【 OB or 其他组件 】OB、OCP
【 使用版本 】OB4.3.4.1
【问题描述】
如图为我设置的备份策略。每天1分全量备份。备份保留7天

但是7天前的日志备份一直存在5T数据没自动删除掉。 只有数据备份被删除了

1 个赞

当前是开启备份的第八天么。
麻烦查询下当前 data_backup_destlog_archive_dest 中配置的路径

由于恢复数据时需要依赖一个全量备份 ,所以一般7天前的最新的一次全量备份 也会保留。此外,自动清理会保留至少一份有效的备份 数据,如果仅有一份有效的备份 数据,则这份有效数据将一直不会被清理

2 个赞

日志备份和数据备份目的端都是
s3://ob-backup/ep_obback/oa/1749632252/tenant_incarnation_1/1006/clog?host=http://xxx.xxx.xxx.xxx:xxxx&access_id=admin&access_key=xxxxxx&s3_region=&checksum_type=md5

可以看到数据备份确实只保留了近7天的。
我这个问题是,有个日志备份,从7月初开始,一直没删掉

由于这个集群是新迁移过来的。 期间做了好几次尝试。表被删除重建了几遍。
不知道是不是这个原因。
有没有手动删除备份的方法

1 个赞

这是哪的参数。ocp上看不到

ALTER SYSTEM PURGE ARCHIVELOG UNTIL TIME = ‘2025-07-28 00:00:00’;
使用租户的root用户执行,显示报错
1064 - You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near ‘PURGE ARCHIVELOG UNTIL TIME = ‘2025-07-28 00:00:00’’ at line 1

1 个赞

这个参数给错了抱歉,如果想清理这个可以手动rm掉目录里面的文件

@论坛小助手
给下日志备份的文件目录详细说明。
如果我想要删除2025-07-28之前的日志备份,需要删除哪些文件

1 个赞

手动清理rm可能会导致备份不完整,建议不要清理了。
需要排查一下为啥不清理
select * from DBA_OB_BACKUP_DELETE_JOB_HISTORY;

1 个赞

根据您的描述,日志备份没有自动清理可能的原因包括:

  1. 备份策略配置问题:虽然您设置了备份保留7天,但可能某些配置项没有正确生效。您可以检查 OCP 上的备份策略配置,确保所有参数都符合预期。

  2. 备份文件状态问题:可能存在某些备份文件的状态不符合自动清理的条件,导致这些文件没有被删除。您可以检查备份文件的状态,确认是否有异常。

  3. 集群迁移影响:由于集群是新迁移过来的,并且期间进行了多次尝试和表的删除重建,这可能导致某些备份文件的状态不一致,影响自动清理。

解决方案

  1. 手动删除备份:您可以使用 ALTER SYSTEM PURGE ARCHIVELOG 命令手动删除指定时间之前的日志备份。但根据您提供的错误信息,您的 OceanBase 版本可能不支持直接使用 PURGE ARCHIVELOG 命令。您可以尝试以下步骤:

    • 使用 OCP 进行手动删除:登录 OCP 控制台,找到备份管理页面,手动删除指定时间之前的日志备份。

    • 使用 obclient 手动删除:如果您需要通过 SQL 命令手动删除备份文件,可以尝试使用 obclient 连接到数据库,执行以下命令:

      ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://ob-backup/ep_obback/oa/1749632252/tenant_incarnation_1/1006/clog?host=http://xxx.xxx.xxx.xxx:xxxx&access_id=admin&access_key=xxxxxx&s3_region=&checksum_type=md5';
      ALTER SYSTEM PURGE ARCHIVELOG UNTIL TIME = '2025-07-28 00:00:00';
      

      请注意,ALTER SYSTEM PURGE ARCHIVELOG 命令的具体语法可能会因 OceanBase 版本的不同而有所差异。建议您查阅官方文档或联系技术支持获取准确的命令格式。

  2. 检查备份文件状态:登录到 S3 存储桶,手动检查备份文件的状态,确认是否有异常文件。您可以通过 S3 控制台或 S3 CLI 工具进行检查。

  3. 重新配置备份策略:如果上述方法都无法解决问题,建议您重新配置备份策略,确保所有参数都正确生效。

日志备份文件目录说明

日志备份文件通常存储在您配置的 LOG_ARCHIVE_DEST 路径下。根据您的配置,路径为:

LOG_ARCHIVE_DEST='LOCATION=s3://ob-backup/ep_obback/oa/1749632252/tenant_incarnation_1/1006/clog?host=http://xxx.xxx.xxx.xxx:xxxx&access_id=admin&access_key=xxxxxx&s3_region=&checksum_type=md5'

在这个路径下,日志备份文件按日期和时间进行组织。例如,2025-07-28 之前的日志备份文件可能存储在以下目录中:

s3://ob-backup/ep_obback/oa/1749632252/tenant_incarnation_1/1006/clog/2025-07-28/

您可以手动删除这些目录中的文件,但建议先备份重要数据,以免误删。

其他建议

  • 定期检查备份策略:定期检查备份策略的配置和执行情况,确保备份和清理操作正常进行。
  • 监控备份状态:使用 OCP 或其他监控工具监控备份状态,及时发现和处理问题。

详情请参考:

  1. OBServer 使用对象存储备份时报:the format file does not exist under the destination 的原因及解决方法
  2. 自动清理过期备份
  3. SET DATA_BACKUP_DEST
  4. 使用 OCP 进行运维


是不是因为这个超时异常。 我看了下有几天的备份,文件夹下面的文件已经空了。 只留了个文件夹

1 个赞

看着是没问题的,一小时触发一次删除归档的任务。
你可以查一下目录里面,之前的5TB归档数据是否还存在

使用obdiag也帮忙采集一下归档问题。
https://www.oceanbase.com/docs/common-obdiag-cn-1000000003607749


根据目录结构看,之前5TB的归档数据应该是已经删除 了的。

现在看之前的5T是已经删除了的

ocp版本是多少

4.3.5-20250319105844

删掉了之前的几个空的 日志归档目录。 现在ocp显示正确了。
看其他几个帖子。
好像是说。如果文件夹没删除。 ocp这边仍然按照之前的统计大小计算备份使用空间大小

有两个版本的对比参考记录么。发出来看一下

对比时间错误。忽略