经常会遇到日志表或者历史数据疯涨的情况,发现的时候,大概率是表空间已经告警了,这时候就需要想办法清理表空间了。
清理表空间方法有好多,可以move,可以shrink,可以导出导入,也可以建临时表,当然还有在线重定义。具体怎么做,以及各种方法的优劣,很多博客的文章都说了,我就不做复制粘贴了。
重点想说一下实际情况应用处理方式,一般来说,如果能做shrink,当然是优选了,他的 优点就是,可以在线做,而且不需要额外的表空间。但是总有二般情况,比如下面这些情况
IOT mapping tables
Tables with rowid based materialized views
Tables with function-based indexes
SECUREFILE LOBs
Compressed tables
shrink表示爱莫能助,这时候就要用别的方式了
如果条件允许二般选择导入导出,因为不需要再扩额外的表空间了,本来表空间就已经扩很大了,为了清垃圾数据,又得扩一倍的数量,从心理上我是拒绝的。
当然表能truncate就另说了,能truncate我上面的都是废话,直接清就行了
附一篇MOS文章,作为参考补充吧
How to Shrink a Securefile LOB Using Online Redefinition (DBMS_REDEFINITION)? (文档 ID 1394613.1)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。