レコード ロック戦略

MFDBFH は、次のタイプのレコード ロック戦略をサポートしています。

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

トランザクション ファイルに対するデータベース レコード ロック戦略を有効にするには、次の環境変数を設定します。

MFDBFH_RECORD_LOCKING=database
インメモリ レコード ロック
このレコード ロック戦略は、エンタープライズ サーバー リージョンで実行されるバッチ ジョブで排他的使用 (つまり、DISP=OLD、DISP=NEW、または DISP=MOD) に割り当てられているファイルに対して実行される入出力操作に使用されます。これは、すべてのレコード ロック戦略の中で最も高いパフォーマンスとなります。