天天看点

Oracle drop 表以后空间无法回收

最近发现线上系统某个文件增长过快。

检查发现很多临时表在此表空间中没有清除,手动drop临时表以后收缩表空间。

alter table '||table_name ||' enable row movement;

alter table '||table_name ||' shrink space cascade;

alter database datafile '/u02/oradata/vids/stat_tmp/LOADTBS.dbf' resize 1006M;

第 1 行出现错误:

ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据 

先导出表空间数据

exp user/pwd TABLESPACES=LOADTBS

把表空间表中表都清除

 PURGE TABLESPACE LOADTBS;

收缩表空间。

1.5T的空间可以收缩到1T,但是表空间中已经没有数据,不知道为什么无法释放更多空间。

继续阅读