Oracle 21c SQL構文で表領域のサイズを確認する
環境
OS windows11 pro 64bit
Oracle Database 21c Express Edition
説明
Oracleの表領域の容量は「DBA_DATA_FILES」の「BYTES」で取得します。
空き領域は「DBA_FREE_SPACE」の「BYTES」で取得します。
SQL構文
SELECT S.TABLESPACE_NAME 表領域 , ROUND(SUM(BYTES) / 1024 / 1024, 1) "ファイル容量" , ROUND(SUM(BYTES - SUM_BYTES) / 1024 / 1024, 1) "使用容量" , ROUND(SUM(SUM_BYTES) / 1024 / 1024, 1) "空き容量" FROM DBA_DATA_FILES S LEFT JOIN ( SELECT TABLESPACE_NAME , FILE_ID , NVL(SUM(BYTES), 0) SUM_BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME , FILE_ID ) T ON S.TABLESPACE_NAME = T.TABLESPACE_NAME AND S.FILE_ID = T.FILE_ID GROUP BY S.TABLESPACE_NAME ORDER BY 1;
実行結果
表領域 ファイル容量 使用容量 空き容量 TABSP 4300 3885.6 424.4