証跡とは

証跡とは、Oracle GoldenGateがデータベース変更の継続的な抽出およびレプリケーションをサポートするために、取得した変更を格納するディスク上の一連のファイルです。

証跡は、Oracle GoldenGateの構成方法に応じて、ソース・システム、中間システム、ターゲット・システムのいずれか、またはこれらを組み合せたシステムに配置できます。これは、ローカル・システムではExtract証跡(またはローカル証跡)と呼ばれます。リモート・システムでは、リモート証跡と呼ばれます。Oracle GoldenGateでは、記憶域として証跡を使用することで、データの正確性とフォルト・トレランスをサポートします。また、証跡の使用により、抽出アクティビティとレプリケーション・アクティビティを相互に独立して実行できます。これらのプロセスが分離されることで、データを処理して配信する方法の選択肢が広がります。たとえば、変更を継続的に抽出してレプリケートするかわりに、変更を継続的に抽出しながら、ターゲット・アプリケーションの必要に応じて後からいつでもターゲットにレプリケートできるように、それらの変更を証跡に格納することができます。

また、証跡を使用することで、Oracle Databaseが非Oracle環境で動作します。証跡ファイルにはデータが一定の形式で格納されるため、サポートされるすべてのデータベースに対してReplicatプロセスが読み取ることができます。詳細は、「Oracle GoldenGate証跡について」を参照してください

証跡ファイルに書き込むプロセス:

Oracle GoldenGate Classicでは、Extractおよびデータ・ポンプ・プロセスが証跡に書き込みます。所定のローカル証跡に書き込めるのは、1つのExtractプロセスのみです。すべてのローカル証跡で異なるフルパス名を使用する必要がありますが、違うパスであれば同じ証跡名を使用できます。

複数のデータ・ポンプ・プロセスで、それぞれ同じ名前の証跡に書き込むことはできますが、物理証跡自体は異なるリモート・システム(データ分散トポロジなど)に配置する必要があります。たとえば、データ・ポンプpumpmとデータ・ポンプpumpnの両方をsys01に配置して、リモート証跡aaに書き込むことができます。この場合、pumpmはsys02の証跡aaに、pumpnはsys03の証跡aaに書き込むことができます。

Oracle GoldenGate MAでは、Distribution Serverと分散パスを使用してリモート証跡を書き込みます。

証跡ファイルを読み取るプロセス:

データ・ポンプ、ReplicatプロセスおよびDistribution Serverが証跡ファイルを読み取ります。データ・ポンプは、Extractプロセスにリンクしているローカル証跡からDML操作およびDDL操作を抽出し、必要に応じてさらに処理を行い、後続のOracle GoldenGateプロセス(通常はReplicatだが、必要に応じて別のデータ・ポンプの場合もある)によって読み取られる証跡にデータを転送します。Distribution Serverプロセスは、証跡ファイルを読み取り、ネットワークを介して、待機中のReceiver Serverプロセスまたはコレクタにそれを送信します。

Replicatプロセスは証跡を読み取り、レプリケートされたDML操作およびDDL操作をターゲット・データベースに適用します。

証跡ファイルの作成およびメンテナンス:

証跡ファイルは処理中に必要に応じて作成されます。ADD RMTTRAILコマンドまたはADD EXTTRAILコマンドで証跡をOracle GoldenGate構成に追加するときに、2文字の証跡名を指定します。デフォルトでは、証跡は、Oracle GoldenGateディレクトリのdirdatサブディレクトリに格納されます。TRAIL_SEQLEN_9D | TRAIL_SEQLEN_6D GLOBALSパラメータを使用して、6桁または9桁の順序番号を指定できます。TRAIL_SEQLEN_9Dがデフォルトで設定されています。可能な場合は、9桁の順序番号を使用することをお薦めします。

新しいファイルを作成すると、各ファイルが2文字の証跡名を継承し、それに一意の9桁の順序番号(000000000から999999999)が追加されます(たとえば、c:\ggs\dirdat\tr000000001のようになります)。順序番号が999,999,999または999,999 (前の設定によって異なります)に達すると、Extractプロセスは異常終了します。

順序番号のリセット方法の詳細は、Doc ID 1060554.1を参照してください。証跡ファイルは、ManagerパラメータのPURGEOLDEXTRACTSを使用して、ルーチンごとに消去できます。

異なるオブジェクトまたはアプリケーションからデータを分離するために、複数の証跡を作成できます。TABLEまたはSEQUENCEパラメータで指定したオブジェクトを、Extractパラメータ・ファイルのEXTTRAILまたはRMTTRAILパラメータで指定した証跡にリンクします。スループットを最大化し、システムのI/O負荷を最小化するため、抽出データの証跡に対する入出力は、サイズの大きいブロック単位で行われます。トランザクション順序は保持されます。

既存の証跡を9桁の順序番号に変換する方法

指定したextractグループについて、証跡ファイルを6桁から9桁のチェックポイント・レコードに変換できます。convchkネイティブ・コマンドを使用して、Extractを正常に停止して9桁の証跡に変換してから、次のようにconvchkを使用してアップグレードします。

convchk extract trail seqlen_9d

Extractを起動します

9桁から6桁の証跡にダウングレードするには、このconvchkコマンドを使用して、同じ手順を実行します。

convchk extract trail seqlen_6d

ノート:

抽出ファイル: 抽出したデータを証跡ではなく抽出ファイルに格納するようにOracle GoldenGateを構成できます。抽出ファイルは、単一のファイルとすることも、オペレーティング・システムのファイル・サイズ制限を考慮して複数のファイルにロールオーバーするように構成することもできます。これは証跡と似ていますが、チェックポイントは記録されません。実行中に1つ以上のファイルが自動的に作成されます。証跡に適用されるバージョニング機能と同じ機能が、抽出ファイルにも適用されます。