--检查表空间使用情况
SELECT TABLESPACE_NAME "表空间名称",
SIZES "表空间大小",
USED "已使用大小",
FREE "空闲大小",
DECODE(SUBSTR(ROUND(USED / SIZES * 100, 2), 1, 1),
'.',
'0' || ROUND(USED / SIZES * 100, 2),
ROUND(USED / SIZES * 100, 2)) || '%' "已使用百分比"
FROM (SELECT T1.TABLESPACE_NAME, T1.SIZES, T2.USED, T3.FREE
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 SIZES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) T1,
(SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 USED
FROM DBA_SEGMENTS
GROUP BY TABLESPACE_NAME
ORDER BY TABLESPACE_NAME) T2,
(SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
ORDER BY TABLESPACE_NAME) T3
WHERE T1.TABLESPACE_NAME = T2.TABLESPACE_NAME
AND T2.TABLESPACE_NAME = T3.TABLESPACE_NAME
UNION ALL
SELECT d.tablespace_name "TABLESPACE_NAME",NVL (a.BYTES / 1024 / 1024, 0) SIZES,
(NVL (t.BYTES, 0) / 1024 / 1024) USED,
(NVL (a.BYTES - t.BYTES, 0) / 1024 / 1024)FREE
FROM SYS.dba_tablespaces d,
(SELECT tablespace_name, SUM (BYTES) BYTES
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');
oracle查看表空间sql
最新推荐文章于 2023-02-15 12:17:39 发布