MFDBFH は、次のタイプのレコード ロック戦略をサポートしています。
- テーブル レコード ロック
- レコード ロックは別のロック テーブルで維持され、COBOL READ、WRITE、および REWRITE 動詞を使用する場合の関連するロック動作は、MFDBFH 以外のファイル処理操作を介してディスク ファイルにアクセスする場合、または Fileshare
を使用する場合と同じになります。これはデフォルトの設定です。
- データベース レコード ロック
- このレコード ロック戦略では、MFDBFH は RDBMS を使用してファイル テーブル内のレコードを直接ロックします。この方法でレコードがロックされると、現在のデータベース トランザクションが終了するまでレコードはロックされたままになります。つまり、データベース
レコード ロックを利用できるのはトランザクション ファイルの使用時のみに限定されるということです。
- テーブル レコード ロックの代わりにデータベース レコード ロックを使用する利点はパフォーマンスですが、その代償として、通常の COBOL ファイル入出力との互換性が失われ、トランザクション以外で同時にファイルにアクセスすることはできなくなります
(つまり、CICS によってデータベース レコード ロック戦略を使用して開かれたトランザクション ファイルは、トランザクション以外でファイルを開くバッチ プログラムと共有できません)。
-
トランザクション ファイルに対するデータベース レコード ロック戦略を有効にするには、次の環境変数を設定します。
MFDBFH_RECORD_LOCKING=database