同時編集とデータ・ロック

マルチユーザー環境でのレコードの表示または編集時には、複数のユーザーが 同一データベースを同時に使用している可能性が常にあります。FM/IMS のブラウズおよび編集機能は、制御がユーザーに戻されるたびに、同時ユーザー・アクセスを可能にするためにデータ・ロックを解除するように設計されています。これは、DLI アクセス・モードと BMP アクセス・モードの両方に当てはまります。

FM/IMS では、ユーザーの対話中に現行データベース・レコードでロックを保持しないので、読み取りと編集の操作中に変更中のデータが他のユーザーによって更新されないようにするために、他のメカニズムを使用しています。そのメカニズムとは、以下のとおりです。

  • エディターでのデータの表示時に、FM/IMS がデータのコピーをメモリー内に作成します。
  • 一部の詳細を上書きしたり Enter キーを押すなど、データへの変更を要求すると、FM/IMS は、要求された変更の別のコピーを作成してから、 保全性検査を実行します。このチェックでは、FM/IMS は以下を行います。
    • データベースに再度保管されるときにセグメントを読み取ります。
    • このセグメントをメモリー内のオリジナル・コピー (つまり、 変更を加える前) と比較します。
    • 2 つのセグメントのバージョンが同じ場合は、要求された変更は IMS バッファーに保管され、データベース・レコードで更新ロックが 発行されます。

      同じではない場合は、最初にデータを読み取ったときから、そのデータを変更しようとしたときの間に、他の誰かがセグメントを変更したことになり、FM/IMS は警告を発行して、要求された変更を保管しません。

  • 変更がデータベースにコミットされて、ロックが解除される時点まで、 更新ロックはデータベース・レコードでオンのままになります。ロック時間を最小限に抑えて、他のユーザーが最新の更新済みデータベース・レコードを使用できるようにするには、「Edit Checkpoint Frequency (EDIT チェックポイント頻度)」を 1 にして AUTOSAVE オプションを使用します。これは、保全性検査に合格すると即時にすべての更新をコミットして、変更を入力するとすぐにロックを効果的に解除するように FM/IMS に指示します。