![](../../com.ibm.help.doc/images/IC-im-sm.gif)
インプレース (オンライン) 表再編成
インプレース表再編成では、表を再編成し、表内のデータへのフルアクセスを許可します。 このようにデータに中断なくアクセスすると、表 REORG 操作の速度が低下します。
DB2® Cancun リリース 10.5.0.4 からは、DB2 pureScale® 環境で、インプレース表の再編成がサポートされます。
インプレースまたはオンライン表 REORG 操作の際、表の各部分が順次再編成されていきます。データは TEMPORARY 表スペースにコピーされません。代わりに行が既存の表オブジェクト内で移動してクラスター化が再確立され、フリー・スペースが再利用され、オーバーフロー行が除去されます。
- n ページを選択する
このフェーズでは、データベース・マネージャーが n ページの範囲を選択します。n は REORG 処理を行う連続するページのエクステント・サイズで、最小は 32 です。
- 範囲を空ける
REORG ユーティリティーは、この範囲内のすべての行を、表内のフリー・ページに移動します。移動する各行は、行の新しいロケーションのレコード ID (RID) を含む REORG 表ポインター (RP) レコードを残します。行は、そのデータを含む REORG 表オーバーフロー (RO) レコードとして表の空きページに配置されます。このユーティリティーが行の集合の移動を完了すると、表内のデータにアクセスしているすべてのアプリケーションが完了するまで待機します。これらの「古いスキャナー」は、表データへのアクセス時に古い RID を使用します。この待機期間中に開始されるすべての表アクセス (『新しいスキャナー』) は、データにアクセスするために新しい RID を使用します。 すべての古いスキャナーが完了すると、REORG ユーティリティーは RP レコードを削除し、RO レコードを標準レコードに変換することによって、移動した行をクリーンアップします。
- 範囲を埋める
特定の範囲内にあるすべての行が空くと、行が再編成された形式 (使用されている索引に従ってソートされ、定義されている PCTFREE 制限に従った形式) で再び書き込まれます。範囲内のすべてのページが再び書き込まれると、次の連続した n ページが表で選択され、再び処理が始まります。
- 表を切り捨てる
デフォルトでは、表のすべてのページが再編成されると、スペースの再利用のために表が切り捨てられます。NOTRUNCATE オプションが指定されている場合は、再編成された表は切り捨てられません。
オンライン表 REORG 操作中に作成されるファイル
- REORG 操作のタイプ
- 再編成されている表のライフ・ログ・シーケンス番号 (LSN)
- 次に空になる範囲
- REORG 操作がデータをクラスター化しているか、それとも単にスペースを再利用しているだけか
- データをクラスター化するのに使用されている索引の ID
.OLR ファイルに関してはチェックサムが実行されます。ファイルが破損してチェックサム・エラーが発生した場合や表 LSN がライフ LSN と一致しなかった場合は、新しい REORG 操作が開始され、新しい状態ファイルが作成されます。
.OLR 状態ファイルが削除された場合は、REORG 処理を再開できず、SQL2219N が戻されて、新しい REORG 操作を開始する必要があります。
再編成処理に関連するファイルは、システムから手動で除去しないでください。