| # トランザクション通知 (ttaud1510m000) セッションの目的: 特定の会社およびテーブルに対するトランザクション通知を表示します。 監査対象フィールドの変更が保存されると、トランザクションが監査ファイルに記録され、その後、データベースにコミットされます。トランザクションが監査ファイルに記録されると、そのトランザクションは ｢準備済｣ の状況となり、bshell はトランザクション通知を作成します。トランザクション通知には、トランザクション ID と、監査順序ファイル内のトランザクション情報の位置を示す情報が含まれています。 トランザクション通知には、次のような特徴があります。 複製処理など、データベースの変更に対処する必要があるあらゆる処理のトリガーとして使用できます。 監査証跡データへの迅速なアクセスを可能にします。 データベース内のトランザクション通知 (ttaud110) テーブルに書き出されます。 ユーザトランザクションとそれに対応するトランザクション通知は、データベースで同じトランザクション範囲内にコミットされます。 トランザクションがコミットされると、bshell はトランザクション通知をトランザクション通知テーブルに書き出します。監査ファイルでは、トランザクション状況が ｢コミット済｣ に変更されます。 トランザクションが中断されると、bshell は通知を書き出しません。監査ファイル内では、トランザクション状況が ｢中断｣ に変更されます。 このメカニズムにより、トランザクション通知が保存されるのは、データベースでコミットされたトランザクションのみになります。したがって、トランザクション通知にもとづく複製処理でコピーされるのは、コミット済のトランザクションのみです。 例 トランザクション ｢A｣ が監査ファイルに保存され、トランザクション通知が生成されます。そのトランザクションがコミットされ、トランザクション通知がトランザクション通知テーブルに保存されます。 別のトランザクション ｢B｣ が監査ファイルに保存され、トランザクション通知が生成されます。しかし、このトランザクションは失敗します。その結果、トランザクションはコミットされず、トランザクション通知はトランザクション通知テーブルに保存されません。 複製処理は、変更を別のシステムに転送するために使用します。複製処理は、トランザクション通知テーブルを読み取ります。したがって、トランザクション ｢A｣ のみがコピーされます。 注意 トランザクション通知は、以前のバージョンで使用されていた 2 フェーズコミットプロトコルに代わるものです。これにより、トランザクションが準備済なのにデータがコミットされていないか中断された可能性があるトランザクションがなくなります。 詳細は、Infor Enterprise Server 8.6 Technical Manual (U8172 US) を参照してください。 トランザクション ID トランザクション識別番号 監査順序ファイルの順序番号 同一のトランザクション内で、テーブルが更新される順番を示す連番 例: トランザクション (ID 10609546320000042619) により、次の処理が 2 つのテーブル (A および B) 内で実行されます。 テーブル A 内の行の更新 テーブル A 内の 2 番目の行の更新 テーブル B 内の行の更新 テーブル A 内の 3 番目の行の更新 次の 2 つのトランザクション通知が、トランザクション 10609546320000042619 に対して生成されます。 テーブル A に対する通知。トランザクションにおける最初の更新はテーブル A 内で行われるので、テーブル番号は 1 です。この通知には、テーブル A での 3 件の更新処理に対する監査情報の位置を示す情報が含まれています。 テーブル B に対する通知。テーブル番号は 2 です。この通知には、テーブル B での更新処理に対する監査情報を示す情報が含まれています。 セッション トランザクションを実行するために使用されたセッション名 ユーザ トランザクションを実行したユーザ名 コミット時刻 トランザクションがコミットされた UTC 日付および時刻を表示します。 監査ファイルへ のインデックス トランザクション情報が記録されている監査順序ファイルの連番 ファイル中の位置 テーブルでの最初のデータベース動作に関する最初のログデータについて、監査順序ファイル内の位置を示す番号 |