每当服务器管理员通知,某某文件占用太大硬盘空间时,估计就是数据库的表空间又变大了,
没办法,对于表空间目前已经占了多少,需要做到心中有数。所以总结几条常用的表空间统计方法,
但是不是很全,在日后的工作中,会继续整理更新。
1、每个表空间大小统计:
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name
2、所有表空间总和统计:
select b.name,sum(a.bytes/1000000) 总空间 from v$datafile a,v$tablespace b where a.ts#=b.ts# group by b.name;
3、查看剩余表空间:
SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M FROM dba_free_space GROUP BY tablespace_name;