最近发现线上系统某个文件增长过快。
检查发现很多临时表在此表空间中没有清除,手动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,但是表空间中已经没有数据,不知道为什么无法释放更多空间。