- Oracle GoldenGate Microservicesドキュメント
- 管理
- エラー管理
- 手動の競合検出および解決
- エラー処理のための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
句を使用してすべての列をマップします。
-