28 Oracle GoldenGateシステムの準備
内容は次のとおりです。
処理のための表の準備
次の表属性は、Oracle GoldenGate環境で処理する必要があります。
トリガーおよびカスケード制約の無効化
ターゲットのTeradata表で、トリガー、カスケード削除制約、およびカスケード更新制約を無効化します。Oracle GoldenGateでは、トリガーまたはカスケード制約の結果として生成されるDMLがレプリケートされます。同じトリガーや制約がターゲット表でアクティブになった場合、レプリケートされたバージョンのために重複となり、データベースでエラーが返されます。ソース表にemp_src
とsalary_src
、ターゲット表にemp_targ
とsalary_targ
を使用している次の例について考えます。
emp_src
に削除が発行されます。- それによって、削除が
salary_src
にカスケードされます。 - Oracle GoldenGateが、両方の削除をターゲットに送信します。
- 親削除が最初に到達し、
emp_targ
に適用されます。 - 親削除によって、削除が
salary_targ
にカスケードされます。 salary_src
のカスケードされた削除が、salary_targ
に適用されます- 行は、すでにステップ5で削除されているため、見つかりません。
親トピック: 処理のための表の準備
行識別子の割当て
Oracle GoldenGateでは、レプリケートされた更新および削除に対して正しいターゲット行を見つけるために、ソース表とターゲット表に一意の行識別子が必要です。ソース表は、Oracle GoldenGateが使用する行識別子の種類を判別する方法に記載されている任意の種類のキーを持つことができます。固定長の列が存在する表に主キーが識別されない場合、それらの固定長列のいずれかの長さは3800バイト未満である必要があります。
Oracle GoldenGateで使用する行識別子の種類を判別する方法
TABLE
またはMAP
文でKEYCOLS
句が使用されないかぎり、Oracle GoldenGateは、使用する行識別子を次の優先順位に従って選択します。
親トピック: 行識別子の割当て
KEYCOLSを使用したカスタム・キーの指定
該当するキーが表にない場合、あるいは識別子を使用しない場合、表に常に一意の値を含んだ列があれば、代替キーを定義できます。ExtractのTABLE
パラメータおよびReplicatのMAP
パラメータ内にKEYCOLS
句を含めることで、この代替キーを定義します。指定されたキーは、Oracle GoldenGateが検出する既存の主キーまたは一意キーを上書きします。
親トピック: 行識別子の割当て
TeradataのODBC構成
各ターゲット・システムで、データ・ソース名(DSN)の作成も含めてODBCを構成します。DSNにはデータベースへの接続方法が格納されます。詳細および設定ステップは、ODBC Driver for Teradata User Guideを参照してください。
親トピック: Oracle GoldenGateシステムの準備
TeradataのOracle GoldenGateプロセス用データベース・ユーザー
Oracle GoldenGateプロセス用のデータベース・ユーザーでは次の要件に従います。
-
Oracle GoldenGate専用のデータベース・ユーザーを作成します。データベースに接続する必要のあるすべてのOracle GoldenGateプロセスに対して同じユーザーでもかまいません。
-
Replicat (ターゲット・データベース)
-
DEFGEN
ユーティリティ(ターゲット・データベース)
-
-
データのセキュリティを維持したり、Oracle GoldenGateの処理を的確に監視したりするには、他のユーザー、アプリケーションまたはプロセスに対してOracle GoldenGateデータベース・ユーザーでのログインまたは操作を許可しないでください。
-
ターゲットのTeradataデータベースにレプリケートするOracle GoldenGateの場合は、Replicatデータベース・ユーザーに、すべてのターゲット表に対する
SELECT
、INSERT
、UPDATE
およびDELETE
を許可します。
親トピック: Oracle GoldenGateシステムの準備