表領域単位にデータファイルの使用状況を確認します。
outer joinにしているのは、空き容量が枯渇した場合にdba_free_spaceのレコードがなくなるため。
UNDO表領域は実際の使用量よりはかなり多めに計算されることに注意してください。
これは、解放されたブロックをすぐに再利用できるように、設定された期間(900秒が一般的)は論理削除をしているためです。
再利用可能なexpiredエクステントも使用中とみなされています。
実運用監視では、UNDO表領域を監視対象から外し、別の手段で検知するのがベターです。
set time on
set pagesize 10000
set linesize 100
col autoextensible heading "AUTO" for a4
col tablespace_name format a25
col sizemb for 999,999
col usedmb for 999,999
col freemb for 999,999
col ratio for 999.99
select dbf.tablespace_name,
dbf.bytes/1024/1024 as sizemb,
(dbf.bytes - sum(nvl(fsp.bytes,0)))/1024/1024 as usedmb,
sum(nvl(fsp.bytes,0))/1024/1024 as freemb,
(1-(sum(nvl(fsp.bytes,0))/dbf.bytes))*100 ratio,
dbf.autoextensible
from sys.dba_free_space fsp
right outer join (
select tablespace_name,sum(bytes) as bytes,autoextensible
from sys.dba_data_files
group by tablespace_name,autoextensible
) dbf
on dbf.tablespace_name=fsp.tablespace_name
group by dbf.tablespace_name,dbf.bytes,dbf.autoextensible
order by dbf.tablespace_name,autoextensible;
実行例は次の通り。
SIZEMB・・・表領域サイズ
USEDMB・・・使用サイズ
FREEMB・・・未使用サイズ
RATIO・・・使用率
AUTO・・・自動拡張
TABLESPACE_NAME SIZEMB USEDMB FREEMB RATIO AUTO
------------------------- -------- -------- -------- ------- ----
FUKA_MASTER_DATA 2,048 1,335 713 65.19 YES
FUKA_MASTER_IDX 1,024 442 582 43.16 YES
MVLOG_MASTER_DATA 512 121 391 23.63 YES
PERFSTAT_DATA 1,024 689 335 67.29 YES
SYSAUX 2,048 285 1,763 13.90 YES
SYSTEM 2,048 352 1,696 17.17 YES
UNDOTBS1 32,749 44 32,706 .13 YES