表領域使用状況を確認する

Pocket

【概要】
DBA_DATA_FILESおよびDBA_FREE_SPACEにより、表領域使用状況を確認する。
【SQL文】
/*
||  ■表領域使用状況を確認する
||
||  ■出力結果の説明:
||  TABLESPACE_NAME : 表領域名
||  TOTAL_SIZE : 表領域総容量
||  (単位:Mbyte,少数点第三位を四捨五入し出力)
||  USED : 表領域使用容量
||  (単位:MByte,少数点第三位を四捨五入し出力)
||  FREE : 表領域空き容量
||  (単位:MByte,少数点第三位を四捨五入し出力)
||  USE RATE : 表領域使用率(百分率で出力)
||
||  表領域名やサイズ等は適時入れ替えてください。
*/
set echo off
set line 120
set pages 1000
SELECT
TABLESPACE_NAME,
ROUND(NVL(TOTAL_BYTES / 1024 / 1024,0),1) AS “TOTAL_SIZE(MBYTE)”,
ROUND(NVL((TOTAL_BYTES – TOTAL_FREE) / 1024 / 1024,0),1)  AS “USED(MBYTE)”,
ROUND(NVL(TOTAL_FREE/1024/1024,0),1) AS “FREE(MBYTE)”,
ROUND(NVL((TOTAL_BYTES – TOTAL_FREE) / TOTAL_BYTES * 100,100),2) AS “USE RATE(%)”
FROM
(
SELECT
TABLESPACE_NAME,
SUM(BYTES) AS “TOTAL_BYTES”
FROM
DBA_DATA_FILES
GROUP BY
TABLESPACE_NAME
),
(
SELECT
TABLESPACE_NAME AS “FS_TS_NAME”,
SUM(BYTES) AS “TOTAL_FREE”
FROM
DBA_FREE_SPACE
GROUP BY
TABLESPACE_NAME
)
WHERE
TABLESPACE_NAME = FS_TS_NAME(+)
;
以上です 💦