oracle空间监控脚本

select tbs as 表空间名称,
       sum(totalM) as 空间合计M,
       sum(usedM) as 已使用空间,
       sum(remainedM) as 剩余空间M,
       sum(usedM)/sum(totalM)*100 as 已使用空间百分比,
       sum(remainedM)/sum(totalM)*100 as 剩余空间百分比
from (
     select b.file_id id,
            b.tablespace_name as tbs,
            b.file_name as name,
            b.bytes/1024/1024 as totalM,
            (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 as usedM,
            sum(nvl(a.bytes,0))/1024/1024 as remainedM,
            sum(nvl(a.bytes,0))/(b.bytes)*100 as 剩余百分比,
            (100 - (sum(nvl(a.bytes,0))/(b.bytes)*100)) as 已使用百分比
            from dba_free_space a,dba_data_files b
            where a.file_id = b.file_id
            group by b.tablespace_name,b.file_name,b.file_id,b.bytes
            order by b.tablespace_name
)
group by tbs;

posted @ 2012-03-20 19:56  wbzhao  阅读(135)  评论(0编辑  收藏  举报