証跡とは
証跡とは、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つ以上のファイルが自動的に作成されます。証跡に適用されるバージョニング機能と同じ機能が、抽出ファイルにも適用されます。