ロックのタイムアウトを調整するには
提供:DB2逆引きWiki
【DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#チューニング編】 【DB2逆引きリファレンス目次#様々な最適化パラメータ】
目次 |
前提
- インスタンス接続が必要
- 以下のいずれかが必要: SYSADM権限, SYSCTRL権限, SYSMAINT権限
- パラメータをオンラインで変更する場合はデータベースへの接続が必要
解説
デッドロック時にアプリケーションが止まったままになってしまう状態を回避するには、デッドロック検知の間隔を適切に設定する必要があります。 また、ロックのタイムアウト時間を指定しておくことも有効でしょう。 デッドロック検知およびロックのタイムアウト時間に関連するデータベース構成パラメータは以下のとおりです。
- DLCHKTIME
- デッドロック検知を行う間隔をミリ秒数で指定します。デフォルトは10000ミリ秒(10秒)になっています。
- LOCKTIMEOUT
- ロックのタイムアウト時間を秒数で指定します。デフォルトは-1(タイムアウトしない)になっています。
使用例
データベース(ここではsample)のデッドロック検知間隔(ここでは5秒)およびロックタイムアウト(ここでは10秒)に設定する例。
db2 ==> update db cfg for SAMPLE using DLCHKTIME 5000 LOCKTIMEOUT 10↓
注意
- デフォルトではロック待ちはタイムアウトしない設定になっています。万が一の場合を想定して、必ずタイムアウトするように設定してください。