今日もなんだかいい天気♪

アクセスカウンタ

zoom RSS HWMの様子をなまあたたかく見つめる。

<<   作成日時 : 2009/01/08 23:07   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 1 / トラックバック 0 / コメント 0

一応、ブロックの割り当ての様子をもう一度確認してみる。のつづき。

DELETEしたってHWMは下がらない。
これは常識だけども、あらためて確認する。

まずはDELETE前の状態。
・・・って、ハードコピーとってなかった。

TABLE_NAME BLOCKS EMPTY_BLOCKS AVG_SPACE NUM_ROWS BLOCKS EXTENTS
---------- ---------- ------------ ---------- ---------- ---------- ----------
TEST01 28 4 3642 41 32 4


テーブルに割り当てられているのは28ブロック。ここがHWMになる。
このテーブルのレコード数は41レコード。
1ブロックに2レコード格納できるテーブルなので、実際には21ブロックあれば全てのデータを格納できる。

21ブロックっていうことは、今現在4エクステント割り当てられているけれど、3エクステント(24ブロック)あれば十分だ。
1エクステント解放できるのか?

alter table 〜 deallocate unused をやってみる。
画像

なんも変わらん。

deallocate unused は、unused、要するに、未使用のブロックしか相手にしてくれない。
未使用ブロックは4しかないので、エクステント解放できるほどの未使用ブロックがない。
で、現在21ブロック使っているので、2エクステント分(16ブロック=32レコード)になるようにDELETEした。
もちろんこれではHWMは下がらない。エクステントも解放されない。


で、この状態で再びdeallocate unusedをやってみるが、未使用ブロックが増えたわけじゃないので、やはり何も変わらない。
画像

そこで、テーブルのSHRINKをしてみる。
でも、表の行管理が有効化されていないよ、と怒られた。
(ORA-10636)
(SHRINKは、レコードが入っているブロックを、他の空きがあるブロックに移動させるため、行管理が有効になっていないとOracleさんがレコードを移動させることができない。)
で、alter table 〜 enable row movement で行管理を有効化して、SHRINKした。

このテーブルの32レコードは、16ブロックで収まる。
そんなわけで、SHRINKしたらきっちり16ブロックに収まった(HWMが16ブロックに下がった)。
未使用ブロックとして8ブロック(1エクステント)残っているけれど、1エクステント解放された。

まだまだわかんないことが多いわ・・・。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
なるほど(納得、参考になった、ヘー)

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
HWMの様子をなまあたたかく見つめる。 今日もなんだかいい天気♪/BIGLOBEウェブリブログ
文字サイズ:       閉じる