Db2がリアルタイム統計を外部化する場合
Db2 オブジェクトのインメモリ統計は、指定された間隔やその他の特定の状況で Db2 カタログテーブルに書き込まれます。
Db2は、非同期タスクを使用して、メモリー内統計をリアルタイム統計表に外部化します。 このタスクを実行するために、Db2は、次のアクションを実行します
- メモリー内の統計を調べます。
- 新しい合計値を計算します。
- リアルタイム統計表を更新します。
- メモリー内の統計をリセットします。
Db2は、以下の状況でリアルタイム統計を外部化します。
- インストール時に STATSINT サブシステム・パラメーターの値に指定した時間間隔の終了時点。
- ユーティリティー実行時点。 一部のユーティリティーは、統計表を変更します。
- ACCESS DATABASEコマンドを発行して、MODE(STATS)オプションを指定すると、Db2は、指定されたオブジェクトのリアルタイム統計を外部化します。 この方法を使用して、リアルタイム統計値の正確さに依存するプロセス (DSNACCOX ストアード・プロシージャーなど) を呼び出す前に、リアルタイム統計を即時に外部化することができます。
- START DATABASE または STOP DATABASE コマンドの発行時点。 これらのコマンドは、コマンドによって指定されたデータベースおよび表スペースに関する統計だけを外部化します。 DSNDB06 データベースが停止しているときは、統計は何も外部化されません。
- STOP Db2 コマンドを発行すると。 Db2 このコマンドを発行すると、メモリ内のすべての統計情報を統計情報テーブルに書き込みます。
Db2 以下の状況では、リアルタイム統計を外部化しません
- Db2がACCESS(MAINT)オプションを指定して開始され、DEFER ALLオプションが有効になっている場合。 この場合、すべての統計の変更が失われます。
CATMAINT ユーティリティー処理などの、特定のマイグレーション操作の実行中。 Db2 これらの操作におけるRTS外部化のステータスを通知するメッセージを に送信します。 DSNT5371I
- オブジェクトが UTUT、UTRO、または UTRW の状態である場合。
- トラッカー・サイトの場合。
リアルタイム統計の外部化に必要なオブジェクトが利用できない場合、 Db2 はメッセージを DSNT535I またはメッセージを DSNT536I 利用できないリソースに関する詳細情報を提供するメッセージを送信します。
Db2は、リアルタイム統計を外部化するとロックを保持するため、2つのプロセスが同時にリアルタイム統計を外部化しようとすると、タイムアウト状態とデッドロック状態が発生する可能性があります。 例えば、Db2がSTATSINTサブシステム・パラメーターで指定された間隔の終了時に既にリアルタイム統計を外部化しているときに、STOP DATABASEコマンドを発行すると、このようなタイムアウトやデッドロックが発生することがあります。