このブログを検索

2011年2月6日日曜日

UNDO表領域の使用率

UNDO表領域の使用率はdba_undo_extentsから計算します。
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 件のコメント:

コメントを投稿