エクステントの拡張がMAXEXTENTSの設定の70%に達したセグメントを知りたい
select substr(owner,1,11) OWNER
,substr(segment_name,1,11) SEG_NAME
,substr(segment_type,1,11) SEG_TYPE
,to_char(bytes/1024,'999999999999990') KBYTES
,to_char(extents,'99999999990') EXT
,to_char(max_extents,'99999999990') MAX
from sys.dba_segments
where extents/(max_extents+1) > 0.7 and max_extents>0
order by extents desc,owner;
- ポイント
-
MAXEXTENTSに達する前に、上記のSQL文で問題となるTABLEなどを検索しよう。
このSQL文を用いて、定期的に監視を行うことにより、領域が不足しているセグメントを事前に確認することができるとともに、領域拡張の傾向なども把握することができる。
このSQL文によって検出されたTABLEは、STORAGE句の見直しを行い、作り直す必要があるかもしれない。
ソート・セグメントなどでmax_extents=0のセグメントが検索されるので、max_extents>0の条件はあったほうがよい。