SELECT TABLESPACE_NAME 表空间,
TO_CHAR(ROUND(BYTES / 1024, 2), '99990.00') || '' 实有,
TO_CHAR(ROUND(FREE / 1024, 2), '99990.00') || 'G' 现有,
TO_CHAR(ROUND((BYTES - FREE) / 1024, 2), '99990.00') || 'G' 使用,
TO_CHAR(ROUND(10000 * USED / BYTES) / 100, '99990.00') || '%' 比例
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
FLOOR(A.BYTES / (1024 * 1024)) BYTES,
FLOOR(B.FREE / (1024 * 1024)) FREE,
FLOOR((A.BYTES - B.FREE) / (1024 * 1024)) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME, SUM(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'CDR%'
ORDER BY FLOOR(10000 * USED / BYTES) DESC;
TO_CHAR(ROUND(BYTES / 1024, 2), '99990.00') || '' 实有,
TO_CHAR(ROUND(FREE / 1024, 2), '99990.00') || 'G' 现有,
TO_CHAR(ROUND((BYTES - FREE) / 1024, 2), '99990.00') || 'G' 使用,
TO_CHAR(ROUND(10000 * USED / BYTES) / 100, '99990.00') || '%' 比例
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
FLOOR(A.BYTES / (1024 * 1024)) BYTES,
FLOOR(B.FREE / (1024 * 1024)) FREE,
FLOOR((A.BYTES - B.FREE) / (1024 * 1024)) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME, SUM(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'CDR%'
ORDER BY FLOOR(10000 * USED / BYTES) DESC;