背景:由于数据量巨大,共划分了20个表空间,其中做大的2t。现2t的表空间已经接近85%,必须进行清理,而用OEM等工具,直接跑不出结果。
转换思路:因为一个表空间上有n个user的表或者索引,可以各个击破,用每个用户登录,查看该用户在某个表空间上的信息。
用到的sql:
select segment_name,sum(bytes)/1024/1024 FROM user_segments
where tablespace_name=''
group by segment_name
order by 2
这样就可以看到对象名称,包括表和索引,以及所占的空间大小,根据需要去释放了。