3 Oracle GoldenGateのプロセスと重要な用語

Oracle GoldenGateには、共通のデータ・レプリケーション・プロセスとアーキテクチャ固有のプロセスがあります。

Classic ArchitectureMicroservices Architectureの具体的なコンポーネントについては、「Classic Architectureのコンポーネント」「Microservices Architectureのコンポーネント」で説明しています。ただし、多数のプロセスと重要な用語がOracle GoldenGateの両方のアーキテクチャに共通しています。

ターゲット始動パスの概要

マイクロサービスのターゲット始動パスを使用すると、Receiver Serverがターゲット・デプロイメント上Distribution Serviceへのパスを開始して、証跡ファイルを取り出せるようになります。Receiver Serverはこの機能を使用して、ネットワーク・セキュリティ・ポリシーのためにソースOracle GoldenGateデプロイメントのDistribution Serverがターゲット環境のReceiver Serverへのネットワーク接続を開くことができない非武装地帯パス(DMZ)やCloud to on-premiseなどの環境用のターゲット始動パスを作成できます。

Distribution ServerはReceiver Serverへの接続を開始できないが、Receiver ServerはDistribution Serverを実行しているマシンへの接続を開始できる場合、Receiver ServerはOracle GoldenGateを使用してファイアウォールまたは非武装地帯(DMZ)を介したDistribution Serverへのセキュアまたは非セキュアなターゲット始動パスを確立し、要求された証跡ファイルを取り出します。

Receiver Serverのエンドポイントは、Receiver Serverによって証跡ファイルの取出しが開始されたことを表示します(Receiver Serverホームページのクイック・ツアーを参照)。

このオプションを有効にするには、Configuration Assistantウィザードのセキュリティ・オプションを使用します(デプロイメントの作成方法に関する項を参照)。ターゲット始動パスの作成手順は、『Oracle GoldenGate Microservices Architectureの使用』のターゲット始動分散パスの追加方法に関する項を参照してください。

Oracle GoldenGateの重要な用語および概念

2つのアーキテクチャとそれらのコンポーネントとは別に、重要な用語について理解する必要があります。

トピック:

プロセス・タイプの概要

Oracle GoldenGateは、要件に応じて、次の処理タイプでの構成が可能です。

  • ユーザーが停止するまで実行されるオンラインExtractプロセスまたはReplicatプロセス。オンライン・プロセスは、リカバリ・チェックポイントを保持するため、処理を中断しても再開できます。ソース・オブジェクトとターゲット・オブジェクトの同期を維持するために、DML操作およびDDL操作(サポートされる場合)を継続的に抽出してレプリケートするには、オンライン・プロセスを使用します。このプロセス・タイプには、EXTRACTパラメータとREPLICATパラメータが適用されます。

  • ソース表(初期ロードExtractとも呼ばれる)Extractプロセスは、別のデータベースへの初期ロードの準備として、現在の静的データセットをソース・オブジェクトから直接抽出します。このプロセス・タイプでは、チェックポイントは使用されません。このプロセス・タイプには、SOURCEISTABLEパラメータが適用されます。

  • 特別実行Replicatプロセスは、既知の開始ポイントと終了ポイントの範囲内でデータを適用します。特別実行Replicatは初期データ・ロードで使用しますが、オンラインExtractと一緒に使用して、証跡内のデータ変更をバッチ形式で(継続的にではなく、1日1回など)適用することもできます。このプロセス・タイプでは、同じ開始ポイントと終了ポイントを使用して最初から実行しなおせるため、チェックポイントは保持されません。このプロセス・タイプには、SPECIALRUNパラメータが適用されます。

  • リモート・タスクは、特殊なタイプの初期ロード・プロセスであり、ExtractがTCP/IP経由で直接Replicatと通信します。Collectorプロセスも、証跡またはファイルの一時ディスク記憶域も使用されません。このタスクは、RMTTASKパラメータを使用してExtractパラメータ・ファイルに定義します。

グループの概要

システムの複数のExtractプロセスまたはReplicatプロセスを区別するには、処理グループを定義します。たとえば、異なるデータセットをパラレルにレプリケートするには、2つのReplicatグループを作成します。

処理グループは、プロセス(ExtractまたはReplicat)、パラメータ・ファイル、チェックポイント・ファイル、およびそのプロセスに関連する他のファイルで構成されます。Replicatの場合、グループには関連するチェックポイント表も含まれる場合があります。グループを定義するには、Oracle GoldenGateのコマンド・インタフェースであるGGSCIで、ADD EXTRACTコマンドおよびADD REPLICATコマンドを使用します。

グループに関連するすべてのファイルおよびチェックポイントでは、グループ自体に割り当てられた名前を共有します。処理を制御または表示するコマンドを発行する場合、常に単一のグループ名または(ワイルドカードを使用して)複数のグループ名を指定します。

コミット順序番号(CSN)の概要

Oracle GoldenGateを使用する場合、コミット順序番号(CSN)を参照する必要がある場合があります。CSNは、トランザクション一貫性とデータ整合性を維持する目的でトランザクションを識別するためにOracle GoldenGateが作成する識別子です。これにより、トランザクションがデータベースにコミットされた時点を一意に識別します。

CSNは、トランザクション・ログでExtractの位置を指定する場合、証跡でReplicatの位置を再指定する場合、またはその他の目的で必要になることがあります。変換関数の中にはこれを返すものがあります。また、レポートおよび一部のGGSCI出力に含まれます。

CSNは、トランザクションがデータベースにコミットされた時点を一意に識別するOracle GoldenGateによって生成される、単調増加の識別子です。目的は、トランザクションがソースからターゲットにレプリケートされるとき、トランザクション一貫性とデータ整合性を保証することです。各種のデータベース管理システムでは、各トランザクションの完了時になんらかの一意のシリアル番号が独自に生成され、そのトランザクションのコミットが一意に識別されます。たとえば、Oracle RDBMSがシステム変更番号を生成すると、それはOracle RDBMSによって各イベントに割り当てられる、単調増加の順序番号になります。CSNは、この同じ識別情報を取得して、それを内部的に一連のバイト列として表現します。ただし、CSNは、プラットフォームに依存しない方法で処理されます。それぞれが同じログ・ストリームのトランザクション・コミット・レコードにバインドされた2つの任意のCSN番号を比較することで、2つのトランザクションが完了した順序が正確に示されます。

CSNは、トランザクションID(Oracle GoldenGateの情報出力でXIDと表示されます)でクロスチェックされます。同時にコミットする複数のトランザクションがあるため、同じCSNを持っている場合でも、XIDとCSNの組合せでは、トランザクションが一意に識別されます。たとえば、並列度と高いトランザクション同時並行性があるOracle RAC環境で、これが発生することがあります。

CSN値は、トランザクションのコミットを識別する証跡レコードにトークンとして格納されます。この値は、@GETENV列変換関数を使用して取得することや、ログダンプ・ユーティリティを使用して表示することができます。

CSNの詳細とデータベースごとのCSN値のリストは、『Oracle GoldenGateの管理』のコミット順序番号の概要に関する項を参照してください。