start_transaction コマンド - デュアル コントロール トランザクションの記録の開始

AC 環境内の UNIX ホストで有効
cminder12902jp
AC 環境内の UNIX ホストで有効
start_transaction および end_transaction は、デュアル コントロール PMDB プロセスの未処理のトランザクションを保存するファイルを作成するコマンドです。このプロセスは 1 つ以上のコマンドで構成されています。 トランザクションにコマンドを入力する管理者(ADMIN 属性を持つ任意のユーザ)を Maker(作成者)といいます。 このコマンドは、Checker(チェッカ)によって許可されてから、PMDB で実行する必要があります。Checker とは、Maker
ではない
任意の管理者です。
Checkerは、処理前のトランザクションをロックする必要があります。 Checker がトランザクションをロックするまでの間、Maker は、トランザクションの取得、コマンドの変更、およびトランザクションの削除を行うことができます (詳細については、「
リファレンス ガイド
」の sepmd ユーティリティの説明を参照)。Maker が end_transaction コマンドを入力すると、トランザクションに一意の識別番号が表示されます。 Maker がトランザクションを後で編集または取得する場合は、この識別番号を start_transaction コマンドのトランザクション名の後に追加する必要があります。 Maker がトランザクションを取得すると、Maker の名前、トランザクションの識別番号、および簡単な説明(
transactionName
パラメータに説明が入力されている場合)が表示されます。
Maker は他の Maker のトランザクションを変更できません。 トランザクションで使用されているオブジェクトは、そのコマンドの処理が終了するまで、別のトランザクションで他の Maker が使用することはできません。
未処理の各トランザクションは、Checker が処理するまで個別のファイルに保持されます。 Checker はトランザクションを許可または拒否できます。 トランザクションが許可されると、そのコマンドが実行され、PMDB が変更されます。 Checker がトランザクションを拒否すると、そのコマンドは削除され、PMDB は変更されません。
Maker が最後に end_transaction コマンドを入力すると、そのトランザクションの ID 番号が表示されます。 コマンドは以下の場合に失敗します。
  • まだ処理の完了していない別のトランザクションで使用されているオブジェクトをコマンドが参照する場合
  • Maker に関係するコマンドの場合。自分自身を変更することはできません。
  • コマンドに無効な構文が含まれている場合
  • コマンドが、存在しないオブジェクトを参照する場合。この場合は警告メッセージが表示されます。
  • start_transaction コマンドおよび end_transaction コマンドを実行するには、ADMIN 属性が必要です。
  • hosts コマンドは、start_transaction コマンドおよび end_transaction コマンドの起動前に実行する必要があるため、hosts コマンドの実行許可が与えられている必要があります。
注:
デュアル コントロールの詳細については、「
UNIX エンドポイント管理ガイド
」を参照してください。
使用上の注意
  • hosts コマンドは start_transaction コマンドおよび end_transaction コマンドの起動前に実行する必要があるため、PMDB の名前を「maker」と指定する必要があります。
  • start_transaction コマンドおよび end_transaction コマンドが機能するためには、pmd.ini ファイルにある is_maker_checker トークン、および seos.ini ファイルの [pmd] セクションにある is_maker_checker トークンの値を yes に設定する必要があります。
このコマンドの形式は以下のようになります。
start_transaction transactionName [transactionId] . . . end_transaction
  • transactionName
    トランザクションの名前または説明を指定します。 最大 256 文字の英数字から成る文字列を入力できます。
  • transactionId
    作成時にトランザクションに指定された一意の番号を指定します。 この識別番号は、トランザクションの作成時に自動的に表示されます。 同じトランザクションの更新時には、この ID 番号を指定する必要があります。
  • Maker Sally は、PMDB へユーザ Anne を追加し、そのシステムへのアクセスを平日の午前 8 時から 午後 8 時までに制限したいとします。 また、Sally は tty30 端末へのデフォルト アクセス権を読み取り専用に変更したいとします。 Sally は、このトランザクションに「general」という名前を付けます。
    • Maker に ADMIN 属性が割り当てられているとします。
    hosts maker@ start_transaction general newusr anne (days(weekdays)time(0800:2000)) chres TERMINAL tty30 defaccess(read) end_transaction
    Sally が end_transaction コマンドを入力すると、このトランザクションには、7 などの識別番号が割り当てられます。
  • Maker である Sally が、ユーザ Anne に FINANCIAL カテゴリを追加します。 Sally は同じ日にユーザ Anne のレコードを追加したばかりで、そのコマンドはまだ PMDB 上で処理または実行されていません。
    • Maker に ADMIN 属性が割り当てられているとします。
    hosts maker@ start_transaction general 7 chusr anne category(FINANCIAL) end_transaction