UNDOエクステントは、使用された後も一定期間は解放されないため
dba_free_spaceでは正確にはわかりません。
そこで、dba_undo_extentsのstatusを確認し、次のように計算します。
UNDO表領域の使用率 = [A] / [A]+[B]+[C]
[A] 使用中のUNDO = statusがACTIVE + UNEXPIRED
col bytes for 999,999,999,999
select status, sum(bytes) as bytes from dba_undo_extents
where tablespace_name = 'UNDOTBS1'
and status in ('ACTIVE','UNEXPIRED') group by status;
[B] 使用後のUNDO = statusがEXPIRED
col bytes for 999,999,999,999
select status, sum(bytes) as bytes from dba_undo_extents
where tablespace_name = 'UNDOTBS1' and status='EXPIRED'
group by status;
[C] 未割当のUNDO = dba_free_space
col bytes for 999,999,999,999
select sum(bytes) as bytes from dba_free_space
where tablespace_name = 'UNDOTBS1';
実行例は次の通り。
STATUS BYTES
--------- ------------
UNEXPIRED 70,516,736
ACTIVE 13,631,488
EXPIRED 97,517,568
BYTES
----------------
32,044,089,344
UNDO表領域の使用率 = 84148224 / (84148224 + 97517568 + 32044089344) * 100
= 0.26 %
0 件のコメント:
コメントを投稿