差分ログは、複写元データベースを更新する利用者プログラムの更新系SQLを実行した時点で、トランザクションと同期して、差分ログを一時的な格納領域に格納されます。ただし、トランザクションがロールバックされた場合は、格納された差分ログは無効となります。
差分ログの一時的な格納領域と作成単位は以下です。
複写元データベースの種類 | 差分ログの一時的な格納領域の名称 | 実現方式 | 作成する単位 |
---|---|---|---|
Symfoware Server | レプリケーションオブジェクトスキーマのトランザクションログテーブル | Symfoware Serverの表 | データベース |
Enterprise Postgres | Enterprise Postgresの表 | ||
Symfoware Server | トランザクションログファイル | 専用のログファイル | RDBシステムごとに1つ |
Oracle | トランザクションログデータベース | Oracleの表 | Oracleシステム(ORACLE_SID)ごとに1つ |
これらの一時的な格納領域に格納された正常終了したトランザクションの差分ログは、“差分ログファイル”と呼ばれるログファイルに振り分けられます。差分ログファイルへの振り分けは、トランザクションの終了とは非同期に行われます。振り分けの契機は、複写元データベースの種類により異なります。
複写元データベースの種類 | 振り分けの契機 |
---|---|
Symfoware Server | 動作環境ファイルに指定した差分ログ収集スケジュールに従って振り分けられます。 |
Enterprise Postgres | |
Symfoware Server | 自動で振り分けられます。 |
Oracle | 動作環境ファイルに指定した差分ログ収集スケジュールに従って振り分けられます。 |
差分ログファイルは、複写元データベースからのデータ抽出方法(抽出定義)ごとに1つずつ作成します。
差分ログファイル中の差分ログは、データ抽出、データ転送、データ格納のそれぞれの処理を経て、複写先データベースに複写されます。
以下に、差分ログの一時的な格納領域と差分ログファイルの概念図を示します。