求教一个关于rman的问题

[复制链接]
查看11 | 回复5 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
对于采用archive mode的数据库,每天将其archive log生成 backupset,并删除archive log,以此达到释放recovery area的目的。但是如何编写一段rman脚本,达到自动删除指定天数以前生成的backupset的目的。例如:
DELETE NOPROMPT BACKUPSETxxx,xxx,xxx 这里的xxx自动取得系统时间指定天数前的backupset的ID号。
请熟悉rman的朋友指教。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
设定备份集的保留策略.比如说三天.那么超过3天的备份集就过期了,delete obsolete就可以删除过期的备份集
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
请看我的执行结果:
rman target/;
delete obsolete;
Rman retention policy is set to recovery window of 7days
using channel ORA_DISK_1
no obsolete backups found
从显示来看,我设置的策略是保存7天的备份,我在current backupset的list中找到了20多天来的backupset。但是为什么没有过期的呢?
请各位朋友解惑。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
crosscheck backup of archivelog all; 执行这个看看
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
delete backupset of archivelog all completed before '2008-02-03';
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
原帖由 ZALBB 于 2008-4-8 17:40 发表
delete backupset of archivelog all completed before '2008-02-03';

这位仁兄给的方式是删除archivelog,不过我在生成backupset的时候已经删除了。使用如下的rman语句。搞定:
delete noprompt backupset completed before 'sysdate-7'; 删除当前系统时间7天前的backupset。
非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行