複数のプロセス・グループの使用

データベースから効率的に取得するために必要なExtractグループは、通常1つのみです。ただし、REDO (トランザクション)の値、またはデータと操作のタイプによっては、1つ以上のExtractグループを構成に追加する必要がある場合があります。

同様に、Replicatを調整モードで使用する場合、ターゲット・データベースにデータを適用するために必要なReplicatグループは、通常1つのみです。ただし、Replicatを調整モードで使用する場合でも、複数のReplicatグループが必要な場合があります。Replicatをクラシック・モードで使用し、アプリケーションで大量のトランザクションが生成される場合、パラレルReplicatグループを使用する必要がある場合があります。

各Oracle GoldenGateコンポーネント(Extract、証跡、DISTPATH、Replicat)は独立したモジュールであるため、必要に応じた組合せが可能です。複数の証跡およびパラレルのExtractおよびReplicatプロセスを使用すると、大規模なトランザクションの処理、パフォーマンスの向上、ボトルネックの解消、レイテンシの削減または特定のデータの処理の分離を行うことができます。

次の図は、処理速度を高め、ネットワーク帯域幅の問題を解決するようOracle GoldenGateを構成する方法の一部を示しています。

パフォーマンスを向上させるロードバランシング構成は、処理速度を高め、ネットワーク帯域幅の問題を解決するようOracle GoldenGateを構成する方法をいくつか示しています。

図のラベルの意味は次のとおりです。

複数のプロセス・グループの使用に関するガイドライン

複数の処理グループを構成する前に、次のガイドラインに目を通し、所定の結果が生成され、データの整合性が保たれることを確認します。

データ整合性の維持

すべてのワークロードが、複数のグループにパーティション化されても元のトランザクション原子性を維持できるというわけではありません。1つのグループのオブジェクトが他のいずれかのグループのオブジェクトに対して、トランザクションまたはそれ以外の依存関係を持つことがあるかどうかを判断する必要があります。たとえば、ワークロードが主キーを定期的に更新する表は、この方法で簡単にパーティション化することはできません。このモードでは、DDLレプリケーション(データベースに対してサポートされている場合)も、アクションが特定のレコードに基づいているような一部のSQLEXECまたはEVENTACTIONS機能の使用でも、有効ではありません。

表に外部キー依存性や主キーの更新がない場合、複数プロセスを使用できます。関連するDMLを同じプロセス・ストリームに保持し、データ整合性を保ちます。

グループ数

システムで実行できる同時ExtractおよびReplicatプロセス・グループの数は、使用可能なシステム・メモリー・サイズに応じて異なります。ExtractおよびクラシックReplicatの各プロセスでは、約25から55MBのメモリーが必要であり、トランザクションのサイズと同時トランザクション数によってはそれ以上のメモリーが必要です。Oracle GoldenGateコマンド・インタフェースでは、Oracle GoldenGateのインスタンス当たり、最大で同時に5,000のExtractおよびReplicatグループ(合計)がサポートされます。サポートされているレベルで、INFO、STATUSなどのコマンドですべてのグループを完全に制御および表示できます。

サポートされているレベルを超えると、グループ情報は表示されず、エラーが発生する可能性があります。Oracle GoldenGateでは、環境を効果的に管理するために、ExtractおよびReplicatグループの数(合計)を100以下程度の扱いやすいレベルを保つようにお薦めします。グループの最大数は、デフォルト値が1000であるMAXGROUPSパラメータで制御されます。

Windows Server環境では、実行可能なプロセス・グループの数は、'非対話型' Windowsデスクトップ・ヒープ・メモリーの設定と密接に関係します。Windowsデスクトップ・ヒープのデフォルト設定は、非常に少数のプロセス・グループの実行には十分といえますが、プロセス・グループが大量(おおよそ60以上)になったときには、このMicrosoftからの情報(Windowsデスクトップ・ヒープ・メモリー)に基づいてレジストリのSharedSectionフィールドの'非対話型'の値を調整するか、Oracle GoldenGateホームの数を増やして、それらのホーム全体で必要なプロセス・グループの合計数を分散する必要があります。ノート: Windowsデスクトップ・ヒープ・メモリーの変更の詳細は、Oracle Knowledge Baseドキュメント(Doc ID 2056225.1)を確認してください。

メモリー

システムは、今後実行する各Oracle GoldenGate ExtractおよびReplicatプロセスのために、十分なスワップ領域を確保している必要があります。必要なスワップ領域を特定するには、次の手順を実行します。

  1. 1つのExtractまたはReplicatを起動します。

  2. Admin Clientを実行します。

  3. レポート・ファイルを表示し、PROCESS VM AVAIL FROM OS (min)行を探します。

  4. 必要に応じて、値を次の整数(GB)に切り上げます。たとえば、1.76GBの場合は2GBに切り上げます。

  5. その値に、実行されるExtractおよびReplicatプロセスの数を掛けます。その結果が、必要となる可能性のあるスワップ領域の最大量です。

メモリーの管理方法の詳細は、『Oracle GoldenGateパラメータおよびファンクション・リファレンス』のCACHEMGRパラメータに関する項を参照してください。

処理が集中している表の分離

複数のプロセス・グループを使用して、通常の処理を妨げ、ターゲットでレイテンシを発生させるような表をサポートできます。たとえば: