, ROUND((A.MAXBYTES-A.BYTES+F.BYTES)/ A.MAXBYTES * 100,2) MAX_PCT_FREE
FROM
SYS.DBA_TABLESPACES D
, ( SELECT TABLESPACE_NAME, SUM(BYTES) BYTES,SUM(DECODE(MAXBYTES, 0, BYTES,
MAXBYTES)) MAXBYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
) A
, ( SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) F
WHERE
D.TABLESPACE_NAME = A.TABLESPACE_NAME(+)
AND D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
AND NOT (
D.EXTENT_MANAGEMENT LIKE 'LOCAL'
AND
D.CONTENTS LIKE 'TEMPORARY'
)
UNION ALL
SELECT
D.STATUS STATUS
, D.TABLESPACE_NAME NAME
, D.CONTENTS TYPE
, D.EXTENT_MANAGEMENT EXTENT_MGT
, D.SEGMENT_SPACE_MANAGEMENT SEGMENT_MGT
, NVL(A.BYTES, 0)/1024/1024 TS_SIZE
, ROUND(A.MAXBYTES/1048576) MAX_MB
, ROUND(NVL(T.BYTES, 0)/1024/1024,2) USED
, ROUND((A.BYTES-NVL(T.BYTES,0))/1048576) FREE_MB
, NVL(T.BYTES / A.BYTES * 100, 0) PCT_USED
, ROUND((A.BYTES-NVL(T.BYTES,0)) / A.BYTES * 100,2) PCT_FREE
, ROUND((A.MAXBYTES-NVL(T.BYTES,0)) / A.MAXBYTES * 100,2) MAX_PCT_FREE
FROM
SYS.DBA_TABLESPACES D
, ( SELECT TABLESPACE_NAME, SUM(BYTES) BYTES,SUM(DECODE(MAXBYTES, 0, BYTES,
MAXBYTES)) MAXBYTES
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME
) A
, ( SELECT TABLESPACE_NAME, SUM(BYTES_CACHED) BYTES
FROM V\$TEMP_EXTENT_POOL
GROUP BY TABLESPACE_NAME
) T
WHERE
D.TABLESPACE_NAME = A.TABLESPACE_NAME(+)
AND D.TABLESPACE_NAME = T.TABLESPACE_NAME(+)
AND D.EXTENT_MANAGEMENT LIKE 'LOCAL'
AND D.CONTENTS LIKE 'TEMPORARY'
ORDER BY PCT_USED
/
SPOOL OFF
exit;
EOF
相关文档
评论