【 使用环境 】生产环境
【 OB or 其他组件 】OB、OCP
【 使用版本 】OB4.3.4.1
【问题描述】
如图为我设置的备份策略。每天1分全量备份。备份保留7天
但是7天前的日志备份一直存在5T数据没自动删除掉。 只有数据备份被删除了
【 使用环境 】生产环境
【 OB or 其他组件 】OB、OCP
【 使用版本 】OB4.3.4.1
【问题描述】
如图为我设置的备份策略。每天1分全量备份。备份保留7天
但是7天前的日志备份一直存在5T数据没自动删除掉。 只有数据备份被删除了
当前是开启备份的第八天么。
麻烦查询下当前 data_backup_dest
和 log_archive_dest
中配置的路径
由于恢复数据时需要依赖一个全量备份 ,所以一般7天前的最新的一次全量备份 也会保留。此外,自动清理会保留至少一份有效的备份 数据,如果仅有一份有效的备份 数据,则这份有效数据将一直不会被清理 。
日志备份和数据备份目的端都是
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月初开始,一直没删掉
由于这个集群是新迁移过来的。 期间做了好几次尝试。表被删除重建了几遍。
不知道是不是这个原因。
有没有手动删除备份的方法
这是哪的参数。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
这个参数给错了抱歉,如果想清理这个可以手动rm掉目录里面的文件
手动清理rm可能会导致备份不完整,建议不要清理了。
需要排查一下为啥不清理
select * from DBA_OB_BACKUP_DELETE_JOB_HISTORY;
根据您的描述,日志备份没有自动清理可能的原因包括:
备份策略配置问题:虽然您设置了备份保留7天,但可能某些配置项没有正确生效。您可以检查 OCP 上的备份策略配置,确保所有参数都符合预期。
备份文件状态问题:可能存在某些备份文件的状态不符合自动清理的条件,导致这些文件没有被删除。您可以检查备份文件的状态,确认是否有异常。
集群迁移影响:由于集群是新迁移过来的,并且期间进行了多次尝试和表的删除重建,这可能导致某些备份文件的状态不一致,影响自动清理。
手动删除备份:您可以使用 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 版本的不同而有所差异。建议您查阅官方文档或联系技术支持获取准确的命令格式。
检查备份文件状态:登录到 S3 存储桶,手动检查备份文件的状态,确认是否有异常文件。您可以通过 S3 控制台或 S3 CLI 工具进行检查。
重新配置备份策略:如果上述方法都无法解决问题,建议您重新配置备份策略,确保所有参数都正确生效。
日志备份文件通常存储在您配置的 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/
您可以手动删除这些目录中的文件,但建议先备份重要数据,以免误删。
详情请参考:
看着是没问题的,一小时触发一次删除归档的任务。
你可以查一下目录里面,之前的5TB归档数据是否还存在
ocp版本是多少
4.3.5-20250319105844
删掉了之前的几个空的 日志归档目录。 现在ocp显示正确了。
看其他几个帖子。
好像是说。如果文件夹没删除。 ocp这边仍然按照之前的统计大小计算备份使用空间大小
有两个版本的对比参考记录么。发出来看一下
对比时间错误。忽略