oracle 查看表空间使用比

select b.file_name 物理文件名,
       b.tablespace_name 表空间,
       b.bytes / 1024 / 1024 大小M,
       (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,
       substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率
  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.bytes
 order by b.tablespace_name
select Upper(f.tablespace_name) "表空间名",
       
       d.tot_grootte_mb "表空间大小(M)",
       
          d.tot_grootte_mb - f.total_bytes "已使用空间(M)",
       
       to_char(round((d.tot_grootte_mb - f.total_bytes) /
                     
                     d.tot_grootte_mb * 100,
                     2),
               '990.99') || '%' "使用比",
       
         f.total_bytes "空闲空间(M)",
       
         f.max_bytes "最大块(M)"

  from (select tablespace_name,
               
               round(sum(bytes) / (1024 * 1024), 2) total_bytes,
               
               round(max(bytes) / (1024 * 1024), 2) max_bytes
        
          from sys.dba_free_space
        
         group by tablespace_name) f,
       
       (select dd.tablespace_name,
               
               round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
        
          from sys.dba_data_files dd
        
         group by dd.tablespace_name) d

 where d.tablespace_name = f.tablespace_name

 order by f.tablespace_name;
原文地址:https://www.cnblogs.com/tianciliangen/p/7510324.html