通过ocp配置清理备份清理,清理记录CDB_OB_BACKUP_DELETE_JOB_HISTORY也是成功执行了 但是备份的磁盘空间没有被释放 依然存在一周前的备份数据
下图是该视图的执行清理记录CDB_OB_BACKUP_DELETE_JOB_HISTORY
下两张图是自建的minio的磁盘占用情况
通过ocp配置清理备份清理,清理记录CDB_OB_BACKUP_DELETE_JOB_HISTORY也是成功执行了 但是备份的磁盘空间没有被释放 依然存在一周前的备份数据
下两张图是自建的minio的磁盘占用情况
检查 Oracle/OceanBase 的备份策略配置,例如:
SELECT * FROM CDB_OB_BACKUP_POLICY;
确认是否设置了:
retention_days
delete_policy = 'AUTO'
清理任务是否启用并调度执行
可以执行如下语句查看历史执行状态:
SELECT * FROM DBA_OB_BACKUP_DELETE_JOBS ORDER BY START_TIME DESC;
重点查看 STATUS 和 ERROR_MSG 字段。
3. 确认备份文件是否实际还存在
登录备份目标存储位置(如本地磁盘、NAS 或 OSS),检查文件是否确实未删除。也可以查看备份路径下的时间戳目录结构。
4. 手动尝试清理过期备份
如果自动清理无效,可尝试执行手动清理命令,例如(OceanBase 环境):
ALTER SYSTEM DELETE BACKUP PIECE BEFORE ‘2024-05-05 00:00:00’;
或指定保留策略:
ALTER SYSTEM SET BACKUP_RETENTION_POLICY=‘RETENTION 7 DAYS’;
然后重新运行清理任务。
5. 权限或存储问题
确认 Oracle 或 OB 备份服务对目标存储路径有写权限。尤其是对象存储类(如 OSS)可能需要额外权限或签名校验。
OCP是什么版本
个人看到你备份目录时root 用户,个人估计看看是不是目录管理权限导致的,安装1楼的方法去处理一下,如果不行,就看看删除日志,是不是操作系统权限的问题哈!
你知道日志在哪看吗 就是ob的日志吗
4.3.5 自建的s3 存储 minio 自测新建和删除文件都没啥问题
CDB_OB_BACKUP_POLICY 这表不存在 社区版本的ob
这是现有的清理策略 查的这个表CDB_OB_BACKUP_DELETE_POLICY
这个OB集群呢?版本麻烦看下
另外确认下备份文件是一直没删除过?还是有删除但是保留大于7天?
show variables like '%version_comment%';
一开始建测试集群 有删除过桶 后来重建生产用的是新桶
这个查询结果贴下看下
SELECT * FROM CDB_OB_BACKUP_DELETE_JOB_HISTORY where TENANT_ID=1002 ORDER BY START_TIMESTAMP desc limit 5\G;
自动清理是每一小时触发一次,这个是正常的
那这文件没删除 是啥情况呢也没报失败
这个查下 结果发下
select * from cdb_ob_backup_set_files where TENANT_ID = 1002 order by START_TIMESTAMP desc limit 20;
是的,这里删除到了5.2日的增量备份,记录是正常的
不是直接删除文件夹,保留文件及路径
……/xxx/xxx/tenant_incarnation_1/租户id/data/backup_set_xx_full/infos/table_list]
$ls
table_list.1725528258374708000.1.obbak table_list_meta_info.1725528258374708000.obbak
查看下日志级别
show parameters like '%syslog_level%'\G;
使用obdiag分析下最近一小时的日志
https://www.oceanbase.com/docs/common-obdiag-cn-1000000002821497
obdiag analyze log --from "2023-10-08 10:25:00" --to "2023-10-08 11:30:00" \
--config obcluster.servers.nodes[0].ip=xx.xx.xx.1 \
--config obcluster.servers.nodes[1].ip=xx.xx.xx.xx.2 \
--config obcluster.servers.global.ssh_username=test \
--config obcluster.servers.global.ssh_password=****** \
--config obcluster.servers.global.home_path=/home/admin/oceanbase
日志级别是info 需要先调低级别吗