项目中之前同事写的一个脚本,每年清理一次数据:
第一步:清理表历史数据;
第二步:执行以下SQL,压缩空间:
ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT;
ALTER TABLE TABLE_NAME SHRINK SPACE;
到第二句sql的时候执行了两个小时都没结束。
(ps:当前表数据量为2千万左右)
请教一下这个语句的执行时间是正常现象还是有问题。
经常delete的表,一般delete越多,执行SHRINK SPACE时间就越长。这属于正常现象。
另外,如果不能等这么长时间,可以在数据静态的时候,直接create table as重建这个表,并改名、建索引、编译无效对象