JavaScriptが無効になっています。
この状態では一部の情報が表示されず、すべての機能を利用することができません。
テーブルのハイウォータマーク操作   
テーブルのハイウォータマークによるパフォーマンスと領域の無駄遣いの問題の解決するためには、2つの手段がある。
表の移動による再構築と、フラグメント解消後の縮退操作である。
テーブルの移動による再作成   
今のテーブルを新しいセグメントに複製し、既存のセグメントを破棄する。
ALTER TABLE rebuild_table MOVE [ ONLINE ] ; 
(注意)  LONG / LONG RAW のある表は移動できない
SHRINK SPACE による断片化の解消   
行断片  の再配置(コピーと削除)による 断片化  の解消行移行したデータが移動の対象となれば行移行は解消されるが、行移行がすべて解消されるわけではない。 
行ロックのため ONLINE 実行が可能 
ハイウォータマークを下げることはできるが万能ではない。(※) (Oracle 10g 時点) (※) レコード数が少ない場合において HWM が思ったより低下しない場合がある。
これは 行移行 、行連鎖  の状態によって使用中のブロックが残っていることが考えられる。
連鎖状態を解消してから行なうと非常に効果が高い。
[ ALTER TABLE fragment_table ENABLE ROW MOVEMENT ; ]
ALTER TABLE fragment_table SHRINK SPACE [ COMPACT ] [ CASCADE ] ;
[ ALTER TABLE fragment_table DISABLE ROW MOVEMENT ;] 
(注意)  ローカル管理表領域 、自動セグメント領域管理  の場合のみ実行ができる。
 
COMPACT は デフラグ(レコードの再配置)のみでハイウォータマークの上位領域のエクステントの解放は行わない。
レコードの再配置とエクステント解放の動作イメージ)
Your browser does not support the video element.
 
 
 インデックスの再構築、断片化の解消    
インデックスの再構築  (ONLINE での実行が可能 ※)
ALTER INDEX rebuild_index REBUILD [COMPUTE STATISTICS]; 空き領域の結合
ALTER INDEX fragment_index SHRINK SPACE COMPACT ;
または
ALTER INDEX fragment_index COALESCE; (※) ONLINE を指定したインデックスの再構築時には基本的に DMLをブロッキングするロックは発生しない。但し、最終フェーズで短時間ブロックされる。
 
 
関連事項