この記事ではSQLによって表領域の使用率を確認する方法を解説します。
表領域を確認するSQL
表領域はEM ExpressなどのGUIでも確認できますが、SQLで調べたほうが手っ取り早い場合もあります。
下記のSQLを実行することで、表領域のサイズ、使用量、使用率、空き容量を調べることができます。
select a.TABLESPACE_NAME
, min(a.BYTES)/1024/1024 "現サイズ(MB)"
, round(min(a.BYTES)/(1024*1024) - sum(b.BYTES)/ (1024*1024),2) "使用量(MB)"
, round((min(a.BYTES)/(1024*1024) - sum(b.BYTES)/(1024*1024))/
(min(a.BYTES)/1024/1024)*100,2) "使用率(%)"
, round(sum(b.BYTES)/(1024*1024),2) "空き容量(MB)"
from dba_data_files a, dba_free_space b
where a.FILE_ID = b.FILE_ID
group by a.TABLESPACE_NAME;
実行例
SQL> select a.TABLESPACE_NAME
2 , min(a.BYTES)/1024/1024 "現サイズ(MB)"
3 , round(min(a.BYTES)/(1024*1024) - sum(b.BYTES)/ (1024*1024),2) "使用量(MB)"
4 , round((min(a.BYTES)/(1024*1024) - sum(b.BYTES)/(1024*1024))/
5 (min(a.BYTES)/1024/1024)*100,2) "使用率(%)"
6 , round(sum(b.BYTES)/(1024*1024),2) "空き容量(MB)"
7 from dba_data_files a, dba_free_space b
8 where a.FILE_ID = b.FILE_ID
9 group by a.TABLESPACE_NAME;
TABLESPACE_NAME 現サイズ(MB) 使用量(MB) 使用率(%) 空き容量(MB)
--------------- ------------- -------------- ------------- ----------------
UNDOTBS1 100 14.88 14.88 85.13
SYSAUX 490 461.81 94.25 28.19
SYSTEM 290 282.31 97.35 7.69
USERS 5 1.00 20.00 4.00
TESTTBS 5 1.06 21.25 3.94