RMAN删除过期备份集
导语:在自我管理的备份中,需要对备份集的保留时间做策略。比如我的生产库客户需要保留时间是28天。超过时间的备份集就需要在备份脚本中添加删除过期备份的语句。
CONFIGURE 设置
Rman的设置对备份集的保留策略有两个互斥的选项:
- REDUNDANCY 冗余
- RECOVERY WINDOW 恢复窗口期
例子:
configure retention policy to redundancy 2;
configure retention policy to recovery window of 7 days;
obsolete 和 expired 的区别
- obsolete 根据策略Rman会判断哪些备份集是过期的,判断的过期的备份集可以用delete语句删除实际的备份集文件,无论该备份集在磁盘还是磁带。
- expired 表示控制文件中有备份记录,但是找不到实际文件的情况。不负责删除实际的文件,也不删除保留策略的过期的文件,只是删除没有文件的控制文件中的记录。
用delete命令删除过期备份集
删除之前需要做
- crosscheck
- report
crosscheck backup;
report obsolete;
delete obsolete;
在脚本中run{}添加策略
run{
crosscheck backup;
report obsolete recovery window of 3 days;
delete obsolete;
}
报错RMAN-03002\RMAN-06091
有这么一种情况,在你的备份集中可能是磁盘和磁带混合的。如果执行delete obsolete语句报错。
那么需要改进一下语句,比如我只想删除磁盘上的已经过期的备份集,那么我的语句可以变成:
delete noprompt obsolete device type disk;
- noprompt 表示不需要确认
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库