GROUPTRANSOPS
有効な対象
Replicat
摘要
GROUPTRANSOPSパラメータでは、標準モードでの動作時に1つのReplicatトランザクションに含まれるSQL操作数を制御します。GROUPTRANSOPSをBATCHSQLとともに使用する場合、BATCHSQLパラメータを参照してください。このパラメータには、Replicatのパフォーマンスを向上させる可能性のあるターゲット・データベースへのトランザクションの適用方法を変更するための追加オプションがあります。
Replicatトランザクションでの操作の<number>を増やすことで、次のことを通してOracle GoldenGateのパフォーマンスが向上します。
-
Replicatが実行するトランザクション数の削減。
-
チェックポイント・ファイルおよび(使用されている場合)チェックポイント表へのI/Oアクティビティの削減。Replicatは、スケジュールされたチェックポイントに加えて、ターゲットにトランザクションを適用するたびにチェックポイントを発行します。
Replicatは、ソース・トランザクションからトランザクションの順序で操作を蓄積し、ターゲット上で1つのトランザクション内のグループとして操作を適用します。GROUPTRANSOPSでは、ソース・トランザクションの分割を回避するために、絶対値ではなく最小値を設定します。Replicatは、グループ内の最後のソース・トランザクションからすべての操作を受信するまで待機してから、ターゲット・トランザクションを適用します。
たとえば、トランザクション1に200の操作が含まれ、トランザクション2に400の操作が含まれ、トランザクション3に500の操作が含まれている場合、GROUPTRANSOPSがデフォルトの1,000に設定されているとしても、Replicatトランザクションには1,100すべての操作が含まれることになります。逆に、証跡に処理するデータがまだ残っていなければ、ReplicatはGROUPTRANSOPSに設定されている値に到達する前にトランザクションを適用することがあります。
表10 Replicat GROUPTRANSOPS
| ソース・トランザクション(同じ表と列リストを想定) | 標準(GROUPTRANSOPS)モードのReplicatトランザクション |
|---|---|
トランザクション 1: `挿入` `削除` トランザクション 2: `挿入` `削除` トランザクション 3: `挿入` `削除` |
トランザクション: `挿入` `削除` `挿入` `削除` `挿入` `削除` |
ソース・トランザクションの境界とターゲット・トランザクションの境界の差によって、ターゲット・データのレイテンシが長びくことがあるため、GROUPTRANSOPSを不必要に高い値に設定しないでください。
(Oracleのみ)統合ReplicatでGROUPTRANSOPSの効果があるのは、統合ReplicatのパラメータPARALLELISMが1に設定された場合のみです。
デフォルト
非統合Replicat: 1000の操作、統合Replicat: 50の操作
構文
GROUPTRANSOPS <number>
<number>
Replicatトランザクションで適用される最小操作数。ソース・トランザクションと同じトランザクション境界の内部では、値1によって操作が実行されます。値は1以上である必要があります。
例
GROUPTRANSOPS 2000