oracle - 表空间使用详情

---- 以具有dba权限的用户登录,直接查询

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) * 100 /
                     D.TOT_GROOTTE_MB,
                     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;

猜你喜欢

转载自ychg2009.iteye.com/blog/2146163