■断片化状況調査
ツール\products\maintenanceにある
too_much_extents.sql を実行。
■断片化解消方法
ALTER TABLE テーブル名 MOVE;
※今のテーブルを新しいセグメントに複製し、既存のセグメントを破棄する。
※再作成先のテーブルスペースに再構築するだけの空き領域、更新操作を制限するテーブルの排他ロックが必要とされる。
★テーブルのMOVEを実施した場合は必ずインデックスのREBUILDを実施すること!
ALTER INDEX インデックス名 REBUILD ONLINE COMPUTE STATISTICS NOLOGGING;
※ONLINE を指定したインデックスの再構築時には基本的に DMLをブロッキングするロックは発生しない。但し、最終フェーズで短時間ブロックされる。
※ONLINE句はEEエディションのみ使用可能
※再構築時に統計情報を採取する場合はCOMPUTE STATISTICSをつける
※再作成先のテーブルスペースに再構築するだけの空き領域が必要とされる。
上記のテーブル、インデックス毎のコマンドではテーブルやインデックス内での断片化は解消されても、表領域全体の断片化は解消されないため、too_much_extentsで表示される不連続断片数や断片化率に大きな変化がない場合がある。
最終的にはexport/importが非常に効果的である。
最終更新:2011年07月21日 09:07