Oracle-查询表空间使用量

查询表空间及其使用量,把表空间大小、数据文件大小、已使用量空间、表空间自由空间、表空间使用率都用MB的形式呈现,方便查看。

select a.tablespace_name 表空间名称,
       round((a.maxbytes / 1024 / 1024), 2) "表空间大小 MB",
       round((a.bytes / 1024 / 1024), 2) "数据文件总大小 MB",
       round(((a.bytes - b.bytes) / 1024 / 1024), 2) "已使用空间 MB",
       round(((a.maxbytes - a.bytes + b.bytes) / 1024 / 1024), 2) "表空间自由空间 MB",
       round(((a.bytes - b.bytes) / a.maxbytes) * 100, 2) "表空间使用率"
  from (select tablespace_name, sum(bytes) bytes, sum(maxbytes) maxbytes
          from dba_data_files
         where maxbytes != 0
         group by tablespace_name) a,
       (select tablespace_name, sum(bytes) bytes, max(bytes) largest
          from dba_free_space
         group by tablespace_name) b
 where a.tablespace_name = b.tablespace_name
 order by ((a.bytes - b.bytes) / a.maxbytes) desc;

你可能感兴趣的:(Oracle-查询表空间使用量)