Oracle磁盘空间使用统计 |
发布时间: 2012/9/18 17:26:12 |
对于大型数据库,Oracle占用的磁盘空间非常大,掌握数据库中那些用户、表占用了多杀磁盘空间,以及增长情况,可以方便日后对磁盘系统进行维护和扩充。 对Oracle磁盘空间使用情况,可以分为按照表空间、用户或者表来进行统计。 (一)、表空间 计算表空间的剩余大小 select A.TABLESPACE_NAME,A.BYTES/(1024*1024*1024) "SPACE(G)",- C.BYTES/(1024*1024) "FREE SPACE(M)",(C.BYTES*100)/A.BYTES "% FREE" select tablespace_name, sum(bytes)/(1024*1024*1024) "SPACE(G)" 计算每个用户占用的磁盘空间 select owner,sum(bytes)/1024/1024/1024 "Space(G)" select owner,sum(bytes)/1024/1024/1024 "Space(G)" Oracle都是以段为存储的,segment_name包含了表、索引、回滚段等,所以在dba_extents,dba_segments都可以找到占用空间大小的信息。 select sum(bytes)/1024/1024 "Space(M)" select segment_name,bytes/1024/1024 "Space(MB)" select segment_name,sum(bytes)/1024/1024 "Space(MB)" 分析SQL方法: analyze table tab_name compute statistics; analyze table tab_name estimate statistics;
本文出自:亿恩科技【www.enkj.com】 |