
启用定时备份后,如何删除已过期备份集?
启用定时备份后,数据库运行一长,必然会积累很多的备份文件,占用大量存储空间,然而
时间久远的备份文件可能已经失效,不再具有保留的意义。对于占用存储空间又没有保留意
义的文件,当然是清理掉比较好。
清理这种失效的备份文件的方法,Windows 下可以写批处理文件,Linux 下可以 shell 脚本。
DM7 本身提供的系统过程 SP_BATCH_DEL_BAK 用于清理超期或冗余的备份文件非常好用。
下文就对 SP_ BATCH_DEL_BAK 做个介绍,通过一个清理出错的场景,引出该过程的使用方
法。
SP_BATCH_DEL_BAK 的调用方法:
举例,删除当前系统时间之前,且离当前系统时间最远的 BOOKSHOP 表空间的一个备份文
件:
call SP_BATCH_DEL_BAK('BOOKSHOP', '', 2, SYSDATE, 1);
注:只能删除系统目录下(dm.ini 配置的 bak_path)的备份,如果备份在其他地方就需要修
改 bak_path 参数值。
上例中参数说明:
'BOOKSHOP':对象名,可以是数据库名、表空间名、表名;
'':模式名,仅对表名有效;
2:级别,取值 1、2、3,分别对应:数据库级、表空间级、表级;
SYSDATE:要删除的备份文件时间节点;
1:删除 1 个 SYSDATE 前备份的文件,该数量为-1 时,则删除 SYSDATE 前备份的全部备
份文件。
评论