統計の保守の自動化
Db2の正確な統計を識別、収集、および維持するための労力を必要とする作業の量を減らすことができます。 そうすることで、 Db2 が必要なときに正確な統計が使用可能になる可能性が高くなることによって、パフォーマンスが向上する場合もあります。
始める前に
- 以下のストアドプロシージャを設定します (インストール時に Db2-supplied ルーチンのインストールで説明されているように、job DSNTIJRTを使用します)
- ADMIN_COMMAND_DB2
- ADMIN_INFO_SSID
- ADMIN_TASK_ADD
- ADMIN_TASK_UPDATE
- ADMIN_UTL_EXECUTE
- ADMIN_UTL_MODIFY
- ADMIN_UTL_MONITOR
- ADMIN_UTL_SCHEDULE
- ADMIN_UTL_SORT
- DSNUTILU
- DSNWZP
- 以下のユーザー定義関数を構成します (ジョブ DSNTIJRT を使用)。
- ADMIN_TASK_LIST()
- ADMIN_TASK_STATUS()
- 許可 ID に以下の特権があることを確認します。
- 上記のストアード・プロシージャーとユーザー定義関数を呼び出します。
- 以下のカタログ表内のデータを読み取って、変更します。
- SYSIBM.SYSAUTOALERTS
- SYSIBM.SYSAUTORUNS_HIST
- SYSIBM.SYSAUTOTIMEWINDOWS
- SYSIBM.SYSTABLES_PROFILES
- 以下のカタログ表内のデータを読み取ります。
- SYSIBM.SYSTABLESPACESTATS
- SYSIBM.SYSTABLESPACE
- SYSIBM.SYSDATABASE
- SYSIBM.SYSTABLES
- SYSIBM.SYSINDEXES
- SYSIBM.SYSKEYS
- SYSIBM.SYSCOLUMNS
- SYSIBM.SYSCOLDIST
- SYSIBM.SYSDUMMY1
- SYSIBM.UTILITY_OBJECTS
このタスクについて
オートノミック・モニターを構成した後、Db2は、ADMIN_UTL_MONITOR ストアード・プロシージャーへのスケジュール済み呼び出しに基づいて、統計をモニターします。 不整合、欠落、または競合が識別される場合は、ADMIN_UTL_EXECUTE ストアード・プロシージャーは、定義済みの保守ウィンドウ内で RUNSTATS を呼び出して、問題を解決します。 ADMIN_UTL_EXECUTE ストアード・プロシージャーは統計プロファイル で定義されているオプションを使用して、RUNSTATS ユーティリティーを呼び出します。 ADMIN_UTL_MODIFY ストアード・プロシージャーは、ログ・ファイルとアラート履歴をクリーンアップするために一定の間隔で呼び出されます。
プロシージャー
オートノミック・モニターを構成するには、次のようにします。
- オートノミック統計収集の時間枠をスケジュールします。時間枠は、SYSIBM.SYSAUTOTIMEWINDOWS カタログ表で定義されます。
- モニター・アクティビティーをスケジュールして、詳細のレベル、しきい値、モニターから除外するオブジェクト、およびその他のオプションを定義します。モニター・アクティビティーは、管理タスク・スケジューラーで定義された 1 つ以上のタスクによってスケジュールされます。 それぞれのタスクは、ADMIN_UTL_MONITOR ストアード・プロシージャーを呼び出します。各タスクは、異なる詳細のレベル、異なるしきい値、およびモニターから除外する異なるオブジェクトを定義できます。
- オートノミック統計のログとアラート履歴の保守をスケジュールします。モニター・アクティビティーは、ADMIN_UTL_MODIFY ストアード・プロシージャーを呼び出す管理タスク・スケジューラーで定義されている単一タスクを使用してスケジュールされます。

次の作業
STATFDBK_PROFILE サブシステム・パラメーターの値を YES に設定することを検討します。 その値を指定すると、 Db2 は、統計の推奨事項を SYSIBM.SYSSTATFEEDBACK カタログテーブルに書き込む際に、統計プロファイルを自動的に修正および作成します。 このアプローチの詳細については、「統計プロファイルへの統計推奨事項の自動適用 」を参照してください。
