暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
达梦干货分享之启用定时备份后,如何删除已过期备份集
706
4页
11次
2020-04-06
免费下载
启用定时备份后,如何删除已过期备份集
启用定时备份后数据库运行一长,必然会积累很多的备份文件,占用大量存储空间,然而
时间久远的备份文件可能已经失效,不再具有保留的意义。对于占用存储空间又没有保留意
义的文件,当然是清理掉比较好。
清理这种失效的备份文件的方法,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 前备份的全部
份文件。
删除时遇到的异常情况模拟:
SP_BATCH_DEL_BAK 函数会连续删除指定时间节点前的 n 个备份集,前提情况是当前的
份集是连续不断的,中间没有人为删除过
1
设置定时备份 job 每隔一分钟备份一次。可以看见当前备份集是连续的。然后调用函数删除
当前时间的前两个备份集,这样就是会删除 15 点 51 15 点 52 分的备份集
2
3
但是如果手动删除过其中某个备份文件,再执行就会出现随机删除两个备份集的情况:
图 4
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜