- Oracle GoldenGateクラシックのドキュメント
- Oracle GoldenGateビジネス・ソリューション
- アクティブ/アクティブ構成のためのOracle GoldenGateの構成
- 手動の競合検出および解決
- エラー処理のためのOracle GoldenGateパラメータ・ファイルの構成
エラー処理のためのOracle GoldenGateパラメータ・ファイルの構成
CDRをエラー処理と併用して、解決済のエラーとCDRで解決できなかったエラーを取得する必要があります。
- 競合解決は、他のエラー処理パラメータ(
HANDLECOLLSIONS、INSERTMISSINGUPDATESおよびREPERROR)の前に実行されます。REPERRORパラメータを使用して、CDRで解決できないエラーを処理するためのルール、またはCDRで処理しないエラーに関するルールを割り当てます。一部のエラーをREPERRORで処理し、残りをCDRで処理するのが適当なこともありますが、同じ競合を処理するようにREPERRORとCDRを構成した場合は、CDRが優先されます。INSERTMISSINGUPDATESパラメータとHANDLECOLLISIONSパラメータも、CDRで処理されない一部のエラーを処理するために使用できます。これらのパラメータの詳細は、『Oracle GoldenGateリファレンス』を参照してください。 - (オプション)例外表を作成します。例外
MAP文とともに例外表を使用する場合、Replicatは競合が発生しているすべての操作を(競合が解決したかどうかにかかわらず)、例外表にマップされる例外MAP文に送信します。UPDATEとDELETEの競合をReplicatで処理する場合は、この表の主キーを省略してください。そうしないと、整合性制約エラーが発生する可能性があります。少なくとも、例外表にターゲット表と同じ列を含める必要があります。これらの行には、Replicatがターゲットに適用した(または適用しようとした)各行イメージが格納されます。
さらに、追加の列を定義してその他の情報を取得し、データをトランザクションの文脈で扱うのに役立てることができます。Oracle GoldenGateには、例外
MAP文を介してこの情報を取得するためのツールが用意されています。そのような列には次のものがあります(これだけに限りません)。-
証跡レコードの変更前イメージ。これは、
col1_beforeやcol2_beforeなどの名前を持つ、ターゲット列の複製です。 -
ターゲット列の現行値。これは、
col1_currentやcol2_currentなどの名前を持つ、ターゲット列の複製です。 -
ターゲット表の名前
-
競合のタイムスタンプ
-
操作タイプ
-
データベースのエラー番号
-
(オプション)データベースのエラー・メッセージ
-
競合が解決されたかどうか
-
- 例外
MAP文を作成して、例外データを例外表にマップします。例外MAP文には次の要素が含まれます。-
(必須)
INSERTALLRECORDSオプション。このパラメータを指定すると、すべての列値が例外表にマップされるように、すべてのマップ済操作がINSERTに変換されます。 -
(必須)
EXCEPTIONSONLYオプション。このパラメータを指定すると、エラーを生成する操作がマップされます(成功した操作はマップされません)。 -
(オプション)
COLMAP句。例外表の列の名前および定義がソース表のものと同一であり、例外表にその列のみが含まれている場合、COLMAPは不要です。ただし、名前または定義が異なる場合、あるいは例外表に追加の列があり、それらの列に追加データを移入する場合は、COLMAP句を使用してすべての列をマップします。
-