表領域使用率

SET LINESIZE 160
SELECT
   TRIM(T.TABLESPACE_NAME)
  ,TRUNC(M.MAXBYTES          / (1024*1024*1024), 0) AS MAXBYTES_GB        -- ファイルの最大サイズ
  ,TRUNC(T.BYTES             / (1024*1024)     , 0) AS TOTAL_MB           -- 総容量
  ,ROUND((T.BYTES - F.BYTES) / (1024*1024)     , 0) AS USED_MB            -- 使用容量
  ,ROUND(F.BYTES             / (1024*1024)     , 0) AS FREE_MB            -- 空き容量
  ,ROUND((1-F.BYTES / T.BYTES) * 100, 2) AS RATE                          -- %
FROM
  (
   SELECT
     TABLESPACE_NAME
    ,SUM(BYTES) BYTES
   FROM
     SYS.DBA_FREE_SPACE
   GROUP BY
     TABLESPACE_NAME
  ) F
  ,(
   SELECT
     TABLESPACE_NAME
    ,SUM(BYTES) BYTES
   FROM
     SYS.DBA_DATA_FILES
   GROUP BY
     TABLESPACE_NAME
  ) T
  ,(
   SELECT
     TABLESPACE_NAME
    ,SUM(MAXBYTES) MAXBYTES
   FROM
     SYS.DBA_DATA_FILES
   GROUP BY
     TABLESPACE_NAME
  ) M
WHERE
      T.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
  AND T.TABLESPACE_NAME = M.TABLESPACE_NAME(+)
/