詳細: 自動索引最適化

このページでは、索引のセグメント移動、圧縮および最適化の機能を提供するために表の既存の自動データ最適化(ADO)機能が拡張されている、索引の自動データ最適化ポリシーについて詳しく説明します。

このスライドは、ヒート・マップと自動データ最適化(ADO)の間に様々なステップを設定し、ADOポリシーで定義された特定の条件に応じて、別の表領域へのセグメントの移動またはブロックまたはセグメントの圧縮(あるいはその両方)を自動化する方法を示しています。

Oracle Database 20cでは、索引のセグメント移動、圧縮および最適化の機能を提供するために表の既存の自動データ最適化(ADO)機能が拡張されている、索引のADOポリシーを使用できます。最適化プロセスには、索引の圧縮、縮小または再構築などの処理が含まれます。OPTIMIZE句を指定すると、索引に最適なアクションが自動的に判別され、最適化プロセスの一部としてそのアクションが実装されます。実行するアクションを指定する必要はありません。

1. DBAの最初の操作は、ヒート・マップを有効にして、ブロックおよびセグメントに対するアクティビティを追跡することです。ヒート・マップにより、セグメント・アクセスや変更など、システム生成の統計収集がアクティブ化されます。

2. リアルタイム統計がメモリー(V$HEAT_MAP_SEGMENTビュー)に収集され、スケジュールされたDBMS_SCHEDULERジョブによって永続HEAT_MAP_STAT$表に定期的にフラッシュされます。永続データは、DBA_HEAT_MAP_SEG_HISTOGRAMビューを使用して参照できます。

3. DBAの次の操作は、表領域でのデフォルトのADO動作としてADOポリシーを索引に作成することです。

4. DBAの次のステップは、デフォルトのスケジューリングがビジネス要件に合致しない場合にADOポリシー評価を実行する必要がある時期をスケジュールすることです。ADOポリシーの評価は、ヒート・マップ統計に依存します。MMONは、行レベルのポリシーを定期的に評価し、条件を満たすブロックを圧縮するジョブを開始します。セグメント・レベルのポリシーは、メンテナンス・ウィンドウ中にのみ評価および実行されます。

5. DBAは、ようやくDBA_ILMEVALUATIONDETAILSおよびDBA_ILMRESULTSビューを使用してADO実行結果を表示できます。

6. 最後に、DBAは、セグメントが別の表領域に移動された結果、ADOポリシーで定義された表領域に格納されているかどうか、また索引のブロックが圧縮されてCOMPRESSION_STAT$表が表示されているかどうかを確認できます。