快速purge dba_recyclebin
请教个问题,有没有什么办法可以快速purge回收站?现在回收站里有33万张表。正常purge要好几天。有什么办法提高下速度。
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
7条回答
默认
最新
之前在客户那里写过一个并行清理回收站的脚本,这个脚本再生成64个子脚本,并自动并行运行这64个脚本,速度还是非常快的。
每个脚本里面的内容就是purge不同的表:
purge table USER.XX1; purge table USER.XX2; purge table USER.XX3; ...
当然最好是定期清理,比如每周清理一次。
评论
有用 0章大师,方便提供一个示例吗?不太会写这种存储过程呢。
评论
有用 0参考刚更新的工具:
【墨天轮工具】Drop User Fast (in parallel):https://www.modb.pro/download/2805
当时给客户做测试,测试完需要清理用户,使用了该脚本的0.1版本,但是脚本有一个缺陷就是忽略了回收站的问题(已修复),drop table后,表全部进入了回收站,于是改写了脚本,又并行清理了一遍回收站,把mk_dropusertabspurge.ksh改写如下:
1、54、55行改成查询回收站
2、117行命令改成purge table $OWN.\"$TAB\";
评论
有用 0采纳答案后不可修改和取消
回收站里有33万张表
——————————
据此信息推断:
1、开发的程序里可能存在大量的drop临时表又重建的情况
故而建议从源头上找出为何会有这么多表在回收站里,这样治标又治本。
评论
有用 0嗯!已经跟开发沟通过,让他们去改程序了。现在里面的那些表要处理掉。感谢大师!
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

