前のトピック: PMDB のリストア次のトピック: デュアル コントロールの有効化


デュアル コントロール

デュアル コントロールは、PMDB の更新プロセスを 2 つの段階に分ける操作方法です。

sepmd ユーティリティでパラメータを使用すると、Maker(作成者)は、未処理のトランザクションを表示、検索、編集、または削除できます。Checker(チェッカ)は、トランザクションを許可または拒否するためにロックしたり、後で処理するため、または別の Checker(チェッカ)によって処理するためにトランザクションのロックを解除したりすることができます。

sepmdd デーモンは、start_transaction コマンドを受信すると、子プロセスに一意の番号を送信します。 子プロセスは、それ以降のすべてのコマンドにこの識別番号を付けます。その番号は新規トランザクションに追加され、sepmdd デーモンのメモリ内に保存されます。 sepmdd が end_transaction コマンドを受信すると、承認アルゴリズムが呼び出されます。 この承認アルゴリズムによって、トランザクションの Maker(作成者)に関係しているコマンドがトランザクション内のコマンドの中にないことがチェックされます。また、処理の実行を待機している別のトランザクションによってすでにロックされているオブジェクトがコマンド内のオブジェクトの中にないことがチェックされます。

オブジェクトを処理する前に、別のトランザクションで同じオブジェクトを使用することはできません。 チェックを通過すると、関連オブジェクトがロックされ、トランザクションに一意の連続番号が割り当てられて、データがファイルに保存されます。 各トランザクションは別々のファイルに保存されます。

注: sepmd ユーティリティまたは sepmdd デーモンの詳細については、「リファレンス ガイド」を参照してください。