現象
ファイルアクセス時に下記のエラーが出る。または、ある件数を超えてアクセスしようとすると、
止まったようになってしまう。
deadlock condition file
Deadlock situation
F_TLOCK error
原因&対処
UNIXでOSのロック設定数を超えた(V2形式DB:ISMの場合)
UNIXではシステム全体で同時にロックできるレコード数の限界があります。
これは一般的にFLCKRECというOSカーネルで設定されているパラメータの設定により決まります。
→OSのロック設定数(FLCKREC)を増やして下さい。
ただし、ロック設定数を増やすことはOSカーネルのリメイクを伴い、
システムそのものパフォーマンスを劣化させる原因になります。
また、マルチベンダ環境で同一アプリケーションを稼働させる場合など、
このFLCKRECのMAX値はシステムにより異なることからアプリケーションそのものの汎用性にも悪影響を及ぼしかねません。
したがって、安易にこの値を増やすよりもアプリケーション設計の工夫をすることをお勧めします。
例えば、できるだけ少ない範囲で小分けにD_BLOCKをかける、全件D_BLOCKを避ける等。
なお、ル・クローンのDBをV3形式DB(ISL)にすればOSのロック設定数の制約は受けません。