今回、表領域に断片化を発生させてみます。
select TABLESPACE_NAME, FILE_ID, BLOCK_ID, BYTES/1024/1024
from USER_FREE_SPACE
where TABLESPACE_NAME = 'BIG_TBS' ;
TABLESPACE_NAME FILE_ID BLOCK_ID BYTES/1024/1024
------------------------------ ---------- ---------- ---------------
BIG_TBS 7 68608 14
select SUM(BYTES)/1024/1024
from USER_SEGMENTS
where TABLESPACE_NAME = 'BIG_TBS' ;
SUM(BYTES)/1024/1024
--------------------
535
現在、14MBの空き、535MBの使用量があります。
drop table TAB2 ;
drop table TAB5 ;
purge recyclebin ;
そのような状態で前回作成したそれぞれ100MBの表、TAB2、TAB5を削除します。
select SUM(BYTES)/1024/1024
from USER_SEGMENTS
where TABLESPACE_NAME = 'BIG_TBS' ;
SUM(BYTES)/1024/1024
--------------------
321
もう1回使用領域を確認すると・・・
100MB*2+7MB*2(主キー索引)=214MBが減りました。
select TABLESPACE_NAME, FILE_ID, BLOCK_ID, BYTES/1024/1024
from USER_FREE_SPACE
where TABLESPACE_NAME = 'BIG_TBS' ;
TABLESPACE_NAME FILE_ID BLOCK_ID BYTES/1024/1024
------------------------------ ---------- ---------- ---------------
BIG_TBS 7 12928 100
BIG_TBS 7 51328 100
BIG_TBS 7 65024 7
BIG_TBS 7 67712 21
しかし、空き領域の発生している箇所を確認してみると・・・
12928ブロックから100MB(128ブロック)分
51328ブロックから100MB(128ブロック)分
→これは表の部分です。
65024ブロックから7MB
67712ブロックから21MB
→これは主キー索引の部分です。
それぞれ離れ離れの領域が空き領域になっています。
これが断片化の状態です。
次回はこの断片化した領域を解消させてみます。
select TABLESPACE_NAME, FILE_ID, BLOCK_ID, BYTES/1024/1024
from USER_FREE_SPACE
where TABLESPACE_NAME = 'BIG_TBS' ;
TABLESPACE_NAME FILE_ID BLOCK_ID BYTES/1024/1024
------------------------------ ---------- ---------- ---------------
BIG_TBS 7 68608 14
select SUM(BYTES)/1024/1024
from USER_SEGMENTS
where TABLESPACE_NAME = 'BIG_TBS' ;
SUM(BYTES)/1024/1024
--------------------
535
現在、14MBの空き、535MBの使用量があります。
drop table TAB2 ;
drop table TAB5 ;
purge recyclebin ;
そのような状態で前回作成したそれぞれ100MBの表、TAB2、TAB5を削除します。
select SUM(BYTES)/1024/1024
from USER_SEGMENTS
where TABLESPACE_NAME = 'BIG_TBS' ;
SUM(BYTES)/1024/1024
--------------------
321
もう1回使用領域を確認すると・・・
100MB*2+7MB*2(主キー索引)=214MBが減りました。
select TABLESPACE_NAME, FILE_ID, BLOCK_ID, BYTES/1024/1024
from USER_FREE_SPACE
where TABLESPACE_NAME = 'BIG_TBS' ;
TABLESPACE_NAME FILE_ID BLOCK_ID BYTES/1024/1024
------------------------------ ---------- ---------- ---------------
BIG_TBS 7 12928 100
BIG_TBS 7 51328 100
BIG_TBS 7 65024 7
BIG_TBS 7 67712 21
しかし、空き領域の発生している箇所を確認してみると・・・
12928ブロックから100MB(128ブロック)分
51328ブロックから100MB(128ブロック)分
→これは表の部分です。
65024ブロックから7MB
67712ブロックから21MB
→これは主キー索引の部分です。
それぞれ離れ離れの領域が空き領域になっています。
これが断片化の状態です。
次回はこの断片化した領域を解消させてみます。

コメント