表領域のサイズ、使用量、空き容量、使用割合を確認するSQLです。
サンプル
例)表領域のサイズ、使用量、空き容量、使用割合を確認するSQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
SELECT F.TABLESPACE_NAME AS "表領域名" ,ROUND(SUM(F.BYTES)/1024/1024, 2) AS "サイズ(MB)" ,ROUND((SUM(F.BYTES) - SUM(S.BYTES))/1024/1024, 2) AS "使用済(MB)" ,ROUND(SUM(S.BYTES)/1024/1024, 2) AS "未使用(MB)" ,ROUND(((SUM(F.BYTES) - SUM(S.BYTES))) / (SUM(F.BYTES))*100, 2) AS "使用率(%)" FROM DBA_DATA_FILES F LEFT JOIN (SELECT TABLESPACE_NAME ,FILE_ID ,NVL(SUM(BYTES), 0) BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME ,FILE_ID) S ON F.TABLESPACE_NAME = S.TABLESPACE_NAME AND F.FILE_ID = S.FILE_ID GROUP BY F.TABLESPACE_NAME ORDER BY F.TABLESPACE_NAME / |
- 実行例
- 表領域名 サイズ(MB) 使用済(MB) 未使用(MB) 使用率(%) --------- ----------- ----------- ----------- -------------- TBS01 1024 538.06 485.94 52.54 TBS02 8192 6288.44 1903.56 76.76 ...
解説
- サンプルではMB単位で表示していますが、KBやGB単位で表示したい場合は以下のように変更してください。
KB単位:サンプル中の1024で割っている箇所を1つ減らす
GB単位:サンプル中の1024で割っている箇所を1つ増やす