説明
GROUPTRANSOPS
パラメータでは、標準モード(BATCHSQL
以外)での動作時に1つのReplicatトランザクションに含まれるSQL操作数を制御します。Replicatトランザクションに含まれる操作数を増やすと、次のことを通じてOracle GoldenGateのパフォーマンスが向上します。
Replicatが実行するトランザクション数の削減。
チェックポイント・ファイルおよび(使用されている場合)チェックポイント表へのI/Oアクティビティの削減。Replicatは、定期的なチェックポイントに加えて、ターゲットにトランザクションを適用するたびにチェックポイントを発行します。
Replicatは、ソース・トランザクションからトランザクションの順序で操作を蓄積し、ターゲット上で1つのトランザクション内のグループとして操作を適用します。GROUPTRANSOPS
では、ソース・トランザクションの分割を回避するために、絶対値ではなく最小値を設定します。Replicatは、グループ内の最後のソース・トランザクションからすべての操作を受信するまで待機してから、ターゲット・トランザクションを適用します。
たとえば、トランザクション1に200の操作が含まれ、トランザクション2に400の操作が含まれ、トランザクション3に500の操作が含まれている場合、GROUPTRANSOPS
がデフォルトの1,000に設定されているとしても、Replicatトランザクションには1,100すべての操作が含まれることになります。逆に、トレイルに処理するデータが残っていなければ、ReplicatはGROUPTRANSOPS
に設定されている値に到達する前にトランザクションを適用することがあります。
表3-32 Replicat GROUPTRANSOPS
ソース・トランザクション(同じ表と列リストを想定) | 標準(GROUPTRANSOPS)モードのReplicatトランザクション |
---|---|
トランザクション1:
トランザクション2:
トランザクション3:
|
トランザクション:
|
ソース・トランザクションの境界とターゲット・トランザクションの境界の差によって、ターゲット・データのレイテンシが長びくことがあるため、GROUPTRANSOPS
を不必要に高い値に設定しないでください。
(Oracleのみ)統合ReplicatでGROUPTRANSOPS
の効果があるのは、統合ReplicatのパラメータPARALLELISM
が1に設定された場合のみです。