ロック・タイムアウトの調査

先日のClubDB2で質問いただいたロック・タイムアウトの調査方法をメモっときます。

1.スナップショットを見る

ロック・タイムアウトは、

- データベース・スナップショット
- アプリケーション・スナップショット

で確認できます。この回数が多い場合は、アプリロジックの並行性とか
データベース構成パラメーター(get db cfg の LOCKTIMEOUT)の値の変更を考えます。

でも実際はスナップショットを取った時にはすでにロックの問題がなくなって、スナップショットから必要な情報が取れないこともありますよね…

で、これ ↓

2.DB2_CAPTURE_LOCKTIMEOUTを利用する(でもこれ、V9.5かV9.1+FP4)

これはレジストリ変数なんですよね。そういう意味でちょっと敷居高い感あるけど、便利。
通常はOFFです。

db2set DB2_CAPTURE_LOCKTIMEOUT=ON

DIAGPATH(/home/db2inst1/sqllib/db2dump)に移動

db2locktimeoutという文字列で始まる名前のファイルの中身を確認

発生日時とか、対象のロック、アプリケーション情報などなど出力されますよん


ジョビン