DB2スナップショット・モニターの利用方法
DB2スナップショット・モニターの利用方法
では、実際にDB2をチューニングしていく方法を解説します。まずは、スナップショット・モニターの使い方を説明します。
スナップショット・モニターで情報を取得するには、あらかじめ取得したい情報の「モニター・スイッチ」をONにする必要があります。各モニター項目、スナップショット・モニターの取得コマンド、および関連するモニター・スイッチについては、以下の通りです。
| モニター項目 | 取得コマンド | 関連モニター・スイッチ |
| データベース・ マネージャー |
db2 get snapshot for dbm | SORT |
| データベース | db2 get snapshot for db on データベース名 | BUFFERPOOL, SORT, LOCK |
| バッファープール | db2 get snapshot for bufferpools on データベース名 | BUFFERPOOL |
| アプリケーション | db2 get snapshot for applications on データベース名 | BUFFERPOOL, SORT, LOCK, UOW |
| 動的SQL | db2 get snapshot for dynamic sql on データベース名 | STATEMENT, BUFFERPOOL, SORT |
| 表 | db2 get snapshot for tables on データベース名 | TABLE |
| 表スペース | db2 get snapshot for tablespaces on データベース名 | BUFFERPOOL |
| ロック | db2 get snapshot for locks on データベース名 | LOCK |
上記コマンドを実行すると、標準出力に結果が戻りますので、それをテキストファイルとして保存して、後で利用します。
モニタリング対象項目によっては、累積値のものがあります。その場合には、最低2回、あるインターバルでスナップショットを取得して、その差分値を算出し、現在の処理状況の値として利用します。
なお、スナップショット表関数を利用することで、スナップショットをコマンドではなくSQLとして発行し、結果をDB2の表に保存することも可能です。その方法につきましては、マニュアルを参照ください。
モニター・スイッチの指定方法について
モニター・スイッチをONにする方法には2つあります。1つはデータベース・マネージャー構成パラメータで指定する方法で、もう1つはupdate monitor switchコマンドを利用して指定する方法です。
モニター・スイッチとデータベース・マネージャー構成パラメータとの関係は以下のようになります。
| モニター・スイッチ | データベース・マネージャー構成パラメータ | デフォルト設定 |
| BUFFERPOOL | DFT_MON_BUFPOOL | OFF |
| LOCK | DFT_MON_LOCK | OFF |
| SORT | DFT_MON_SORT | OFF |
| STATEMENT | DFT_MON_STMT | OFF |
| TABLE | DFT_MON_TABLE | OFF |
| TIMESTAMP | DFT_MON_TIMESTAMP | ON |
| UOW | DFT_MON_UOW | OFF |
データベース・マネージャー構成パラメータで指定するには、以下のようにします。
db2 "update dbm cfg using DFT_MON_BUFPOOL on DFT_MON_SORT on"
update monitor switchコマンドを使う場合には、以下のようにします。
db2 "update monitor switches using BUFFERPOOL on SORT on"
また、現在の monitor switchの設定を確認するには、以下のようにします。
db2 "get monitor switches"
update monitor switchesコマンドを利用してモニター・スイッチを変更した場合、モニター・スイッチはupdate monitor switchesコマンドを実行した接続でのみ有効です。従って、後続のスナップショットの実行は、必ずupdate monitor switchesコマンドを実行したデータベースへの接続を使って取得する必要があります。
なお、データベース・マネージャー構成パラメータを利用した場合には、このような考慮点はありません。