データベース・マネージャーには、操作とパフォーマンス、およびそのデータベース・マネージャーを使用するアプリケーションに関するデータを収集する機能が組み込まれています。 データベース・マネージャーには以下のレベルの情報が保守されます。
上記のデータの中には、 収集する際に多少の処理オーバーヘッドが生じるものがあります。 たとえば、 SQL ステートメントの実行時間を計算するには、 そのステートメントの実行前後にデータベース・マネージャーでオペレーティング・システムを呼び出して、 タイム・スタンプを入手しなければなりません。 この種のシステム呼び出しには通常はコストがかかります。 モニター情報の保守に関係するオーバーヘッドを最小限にとどめるために、 モニター・スイッチを使って、 高コストになりかねないデータベース・マネージャーによるデータ収集を制御します。
データベース・システム・モニターでは特定の基本情報は必ず収集されますが、 スイッチを使用すると、高コストのデータ収集量を管理できます。 モニター・スイッチは以下のように設定できます。
サーバーの開始と同時にデータ収集を開始したい場合は、 データベース・マネージャーの構成ファイルにスイッチを設定することもできます。
スイッチの変更は、データベース管理システムを停止せずに行うことができます。 このようにスイッチを動的に更新する際、更新を有効にするためには、 更新を行っているアプリケーションを明示的にインスタンスに接続する必要があります。
注: | 動的な更新を行っても、 既存のスナップショット・アプリケーションへの影響はありません。 スイッチの新しいデフォルト値を適用するには、 モニター・アプリケーションを終了してから、再び接続を確立する必要があります。 |
スイッチについては、モニター・データのリセットで説明されています。 構成の詳細については、管理の手引き の dft_monswitches 構成パラメーターを参照してください。
データベース・マネージャー構成ファイルのスイッチを更新すると、 (ユーザーが接続されていれば) 区分データベース内のすべてのノードのスイッチも更新されます。
現在、データベース・マネージャーが何らかのモニター・データを収集しているかどうか調べるには、 次のコマンドを発行してください。
db2 get database manager monitor switches
結果の出力には、データベース・マネージャーのスイッチの設定値と、 そのスイッチがオンにされた時刻が示されます。
DBM System Monitor Information Collected Switch list for node 1 Buffer Pool Activity Information (BUFFERPOOL) = OFF Lock Information (LOCK) = OFF Sorting Information (SORT) = ON 04-18-1997 10:11:01.738400 SQL Statement Information (STATEMENT) = OFF Table Activity Information (TABLE) = OFF Unit of Work Information (UOW) = OFF
この例では、データベース・マネージャーは、基本レベルの情報のほかに、 ソート・スイッチで制御されているすべての情報も収集します。
注: | 区分データベースでは、グローバル検索を要求すると、 システム内のそれぞれのノードについてのスイッチ・リストが戻されます (GET DATABASE MANAGER MONITOR SWITCHESを参照してください)。 |
データベース・マネージャーで収集されたモニター・データにアクセスする方法には、以下の 2 つがあります。
スナップショットを取ると、特定の時点での情報が得られます。 スナップショットとは、データベース・マネージャーで行われている、 特定のオブジェクトやオブジェクト・グループに関する活動の、 現在の状態を写した写真のようなものです。
特定のイベントが起きた時に、 モニター・データをファイルまたは名前付きパイプに自動的に記録するよう、 データベース・マネージャーに要求することができます。 これにより、スナップショットではモニターすることが難しい一時的イベント (デッドロックやトランザクションの完了など) についての情報を収集できます。