是这样的,之前我们的数据库全备份是1个礼拜2次,之前定的删除计划是删除3天之前的全备份记录就好了。
脚本如下:run{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 days;
crosscheck backup;
CROSSCHECK BACKUPSET OF DATABASE;
delete  obsolete recovery window of 1 days;
}后来,全备份改成1天一次了,每天都会备份,那删除计划删除1天之前的记录就好了。改成这样了。run{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 days;
crosscheck backup;
CROSSCHECK BACKUPSET OF DATABASE;
delete  obsolete recovery window of 1 days;
}结果,虽然这个脚本还是会每天执行,但他还是执行删除3天前的备份,由于现在每天都全备份,二删除历史全备份没有跟上,导致硬盘不够用了。麻烦大家,请问这个脚本应如何写啊?怎么每天执行的都是删除一天前的所有全备份记录。
还请大家解释下这些脚本是什么意思。
附全备份脚本:CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'E:\Clust_BAK\control%F';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
run {
allocate channel t1 type disk;
allocate channel t2 type disk;
allocate channel t3 type disk;
allocate channel t4 type disk;
allocate channel t5 type disk;
change archivelog all crosscheck;
backup
incremental level 0
tag Clust_bk_level0
filesperset 3
format 'E:\Clust_BAK\Clust_full\Clust_%s_%p_%t.dbbak' database;
sql "create pfile=''E:\Clust_BAK\Clust_spfile.bak'' from spfile";
sql 'alter system archive log current';
backup
filesperset 10
format 'E:\Clust_BAK\Clust_full\Clust_%s_%p_%t.archlogbak' archivelog all delete input;
backup
format 'E:\Clust_BAK\Clust_%s_%p_%t.controlbak' current controlfile;
}