繰返し回収オプション
有効な対象
Replicat
摘要
REPFETCHEDCOLOPTIONSパラメータを使用して、ソース・データベースからのフェッチが必要とされていた操作へのReplicatの対応方法を決定します。Extractプロセスは、SQL文を構築するための十分な情報がトランザクション・レコードに含まれていないときや、FETCHCOLS句が使用されているとき、FETCHOPTIONS MISSINGCOLSが使用されているときに、列データをフェッチします。
詳細は、{FETCHCOLS | FETCHCOLSEXCEPT} (column_list)および「MISSINGCOLS」を参照してください。このパラメータは、ReplicatのOracle GoldenGate変換をテストするときに使用されます。証跡からのの値が見つからないときや、その値が取得した方法に関する情報(トランザクション・ログから直接取得されたかどうか)を報告するときに(トランザクション・ログから直接取得されたかどうか)をReplicatに指示するために役立ちます。
デフォルト
なし
構文
REPFETCHEDCOLOPTIONS
[, INCONSISTENTROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, LATESTROWVERSION ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, MISSINGROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, NOFETCH ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, REDUNDANTROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, SNAPSHOTROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, SETIFMISSING <string>]
INCONSISTENTROW
行IDによって列データが正常にフェッチされたが、キーが一致しなかった場合に実行するアクションを決定します。行IDが再利用されたか、この操作の後(およびフェッチの前)に主キー更新が行われました。有効な値は次のとおりです
ALLOW
レコード長がゼロ(0)でないかぎり、操作を処理します。
IGNORE
状況を無視して処理を継続します。
REPORT
レコードを破棄ファイルに書き込み、操作を処理します。
DISCARD
データを破棄し、行は処理しません。
ABEND
データを破棄し、処理を中止します。
LATESTROWVERSION <action>
列データが表の現在の行からフェッチされた場合のレスポンスを指定します。有効な値は、次のとおりです:
ALLOW
レコード長がゼロ(0)でないかぎり、操作を処理します。
IGNORE
状況を無視して処理を継続します。
REPORT
レコードを破棄ファイルに書き込み、操作を処理します。
DISCARD
データを破棄し、行は処理しません。
ABEND
データを破棄し、処理を中止します。
NOFETCH <action>
フェッチを防止します。このオプションを使用するケースの1つは、データベースがスタンバイで、Oracle GoldenGateがデータベースに接続していないときです。このケースでは、データベースからのフェッチが試行されるとエラーが発生します。他のシナリオでも、このパラメータの使用が必要になることがあります。
Oracle GoldenGateが通常フェッチしているデータをフェッチできない場合、ターゲットでデータ整合性の問題が発生する可能性があります。
次に、NOFETCHが検出された場合に実行可能な有効なアクションを示します。
ABEND
操作を破棄ファイルに書き込み、Replicatプロセスを異常終了させます。これがデフォルト値です。
ALLOW
レコード長がゼロ(0)でないかぎり、操作を処理します。
IGNORE
操作を無視します。(STATOPTIONS設定に基づいて)フェッチ統計がプロセス・レポートにレポートされている場合、レポートはこの結果によって更新されます。
REPORT
レコードを破棄ファイルに書き込み、操作を処理します。
DISCARD
レコードを破棄ファイルに書き込み、操作を処理しません。(STATOPTIONS設定に基づいて)フェッチ統計がプロセス・レポートにレポートされている場合、レポートはこの結果によって更新されます。
MISSINGROW <action>
Replicatが処理で行の一部(変更された値)のみ使用できる場合のレスポンスを指定します。トレイルで紛失した列データは、変更レコードが作成されてからフェッチがトリガーされるまでの間に行が削除されてしまっているか、必要な行イメージが指定されているUNDO保存期間以前のものであったため、通常はフェッチできません。
有効な値は、次のとおりです:
ALLOW
レコード長がゼロ(0)でないかぎり、操作を処理します。
IGNORE
状況を無視して処理を継続します。
REPORT
レコードを破棄ファイルに書き込み、操作を処理します。
DISCARD
データを破棄し、部分的な行は処理しません。
ABEND
データを破棄し、処理を中止します。
REDUNDANTROW
このレコードについて列データがすでにフェッチされているため、列データがフェッチされなかったことを示します。
SETIFMISSING [<string>]
フェッチが失敗した(証跡レコードから値が欠落している)のにターゲット列にNOT NULL制約がある場合は、値を指定します。CHARおよびBINARYデータ型の値としてオプションのASCII文字列を受け付けるか、次のデフォルトを受け付ける。
CHAR、VARCHAR: 単一の空白
BINARY、VARBINARY: NULLバイト
TIMESTAMP: 現在の日付/時刻
FLOAT, INTEGER: ゼロ
SETIFMISSINGに加え、MAP文のCOLMAP句を使用してターゲット列に値をマップできます。詳細は、COLMAP (column_mapping)を参照してください。
SNAPSHOTROW
列データがスナップショットからフェッチされたことを示します。通常、このオプションは、レポート作成操作または廃棄操作のみに使用されます。有効な値は、次のとおりです:
ALLOW
レコード長がゼロ(0)でないかぎり、操作を処理します。
IGNORE
状況を無視して処理を継続します。
REPORT
レコードを破棄ファイルに書き込み、操作を処理します。
DISCARD
データを破棄し、行は処理しません。
ABEND
データを破棄し、処理を中止します。