导语:在自我管理的备份中,需要对备份集的保留时间做策略。比如我的生产库客户需要保留时间是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 表示不需要确认