5.1 Oracle GoldenGate Veridataのパフォーマンスの改善

大量のデータを処理する場合は、次のパラメータおよび構成を使用すると、Oracle GoldenGate Veridataのパフォーマンスを向上させることができます。

主キー列の追加

主キーの追加によってパフォーマンスを向上させる方法の詳細は、PK列の指定を参照してください。

パーティション化

データを同等な単位のチャンクに分割することでパフォーマンスを向上させる方法の詳細は、パーティション化を参照してください。

デルタ比較

デルタ比較がパフォーマンスの向上にどのように役立つかの詳細は、デルタ比較を参照してください。

列の除外

パフォーマンスを向上させるために列を削除する方法とタイミングの詳細は、列の除外を参照してください。

サーバーの構成

COOS結合

パフォーマンスを向上させるCOOS結合およびその他のサーバー構成を使用する場合は、サーバー構成を参照してください。

エージェント構成

  • COOSバッチ・フェッチ

    エージェントがバッチでデータをフェッチできるように、データを個別にフェッチするかわりにCOOSバッチ・フェッチを使用できます。「COOSバッチ・フェッチ」を参照してください。

    このバッチのサイズは、COOSバッチ・サイズによって決まります。COOSバッチ・サイズの更新方法の詳細は、非同期(COOS)バッチ・サイズの確認を参照してください。

  • ROWSCN

    ROWSCNを使用すると、表の完全な比較をスキップし、特定のSCN値の後のデータを比較できます。

    ROWSCN値の設定方法の詳細は、ROWSCNを参照してください。
  • データベース・トランザクション分離レベルの変更

    各Oracle GoldenGate Veridataエージェントでは、環境パラメータを格納するインストール・フォルダのルートに、agent.propertiesファイルがあります。これらのパラメータの1つは、database.transaction.isolationです。このプロパティでは、初回比較ステップの実行中に使用されるトランザクション分離レベルを制御します。

    SQL ServerおよびTeradataのデフォルト値はREAD_UNCOMMITTEDです。つまり、行を選択するために発行される問合せは、他のトランザクションによって変更された行を読み取ることができますが、まだコミットされていません(ダーティ読取り)。他のトランザクションがデータを変更できないように共有ロックを発行したり、他のトランザクションのロックによってロックされることもありません。

    READ UNCOMMITTEDオプションを使用する利点では、ロックによって影響されないため、データの初期読取りが高速になることです。これの悪影響は、(トランザクションの間にデータが変更される場合があるため)より多くのレコードが非同期の可能性としてラベル付けされることがあり、確認ステップで再度の比較が必要になることです。

    COOSステップで比較する行が多すぎる場合は、プロパティ・ファイルを編集してdatabase.transaction.isolationをCOMMITEDに設定し、コミットされたレコードのフェッチのみを許可できます。読取り一貫性を維持するためのロックの影響により初回比較ステップが遅くなる可能性よりも、改善に重点を置く必要があります。

    ノート:

    Oracleでサポートされている値はREAD_COMMITTEDのみで、COOSステップでは常にREAD_COMMITTEDが使用されます。この段階では、ダーティ読取りが許可されないためです。

プロファイルの構成

パフォーマンスの向上に役立つ、ソート、初期比較、COOSおよび修復の特定のパラメータを制御できます。
  • ソートの構成

    サーバー・ソート

    次の要因は、ソート・メカニズムのパフォーマンスに影響します:
    • 比較される表の行の数
    • 表に定義される索引
    • 使用中のキー
    • データベースのチューニング方法

    サーバー側ソートの使用方法の詳細は、「サーバー・ソート」を参照してください。

  • 初期比較構成
    • 最大同時比較スレッド: 比較スレッドの使用方法の詳細は、「最大同時比較スレッド」を参照してください。
    • オプティマイザ・ヒント: オプティマイザ・ヒントの使用方法の詳細は、ソースおよびターゲットのオプティマイザのヒントを参照してください。
    • 入力行数の上限: 比較する行数を制限するには、このパラメータを使用します。特定のジョブ・プロファイルで処理のためにフェッチされる行数を制限できます。これにより、少ない行数を処理して、表全体がどの程度非同期か(または同期されているか)を確認できます。結果に基づいて、完全な比較を実行するか、データの再同期化のみを実行できます。このパラメータは、初期比較プロセスの一般的なパラメータです。
      このパラメータを設定するには:
      1. Oracle GoldenGate Veridata UIで、「プロファイルの構成」をクリックし、プロファイルを選択します。
      2. 「初回比較」タブをクリックし、「入力行数の上限」の値を更新します。
    • プロセスの優先度を上げる(NonStopのみ): Oracle GoldenGate Veridataエージェントに、NonStopシステムで可能な最高のプロセス優先度を割り当てます。優先度(およびプロセス名とCPU番号)は、ジョブ・プロファイルの初期および確認ステップのNonStop設定を使用して割り当てることができます。

  • 非同期構成
    • COOSバッチ・サイズ: COOSバッチの使用方法の詳細は、COOSバッチ・サイズを参照してください。

    • オプティマイザ・ヒントオプティマイザ・ヒントの使用方法の詳細は、オプティマイザ・ヒントを参照してください。

    • 初期比較と並行してCOOSを実行

      デフォルトでは、Oracle GoldenGate Veridataは初回比較および非同期確認プロセスを同時に実行します。デフォルトでは、Oracle GoldenGate Veridataは初回比較および非同期確認(COOS)プロセスを同時に実行します。この設定が有効になっていることを確認します。

      これを確認するには:

      Veridata UIで、「プロファイルの構成」をクリックし、プロファイルを選択します。

      「非同期確認」をクリックします。「初回比較と同時に実行」の値を確認します。このオプションは選択する(オンにする)必要があります。

    • COOSステップのスキップ

      デフォルト設定では、COOSステップが常に実行されます。このステップは、データベースが停止した場合、またはレプリケーションでデータ変更がアクティブにレプリケートされない場合にスキップできます。

      COOSステップをスキップするには:
      1. Oracle GoldenGate Veridata UIで、「プロファイルの構成」をクリックし、プロファイルを選択します。
      2. 「非同期確認」タブをクリックし、「非同期確認ステップの実行」「デフォルトの使用」および「値」の選択を解除します。
    • プロセスの優先度(NSK)を高くする

      Oracle GoldenGate Veridataエージェントに、NonStopシステムで可能な最高のプロセス優先度を割り当てます。プロファイル構成の初期比較および非同期の確認NonStopプロセス設定を使用します。

接続の構成

比較フェッチ・サイズ

フェッチされる行のバッチ・サイズを増やしてスループットを向上させます。フェッチ・サイズを増やす方法の詳細は、「比較フェッチ・サイズ」を参照してください。

修復の構成

パフォーマンスを向上させるために次のパラメータを設定する方法の詳細は、「修復の構成」を参照してください。
  • 同時修復操作数
  • 修復バッチ