每当服务器管理员通知,某某文件占用太大硬盘空间时,估计就是Oracle数据库的表空间又变大了,没办法,对于表空间目前已经占了多少,需要做到心中有数。所以总结几条常用的表空间统计方法,但是不是很全,在日后的工作中,会继续整理更新。
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;
相关阅读:
Oracle Undo 镜像数据探究
Oracle 回滚(ROLLBACK)和撤销(Undo)
Undo 表空间损坏导致无法open
Undo表空间失败的处理方法
Oracle Undo表空间重建与恢复