Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX 12c (12.2.0.1) E70112-04 |
|
前 |
次 |
適用対象
Extract
説明
FETCHOPTIONS
パラメータでは、Oracle GoldenGateが次の状況でデータをフェッチする方法を制御します。
Extractが更新操作を再構築するために十分な情報がトランザクション・レコードに含まれていない
TABLE
文のFETCHCOLS
句の結果として、Oracle GoldenGateが列値をフェッチする必要がある
FETCHOPTIONS
は表に固有です。1つのFETCHOPTIONS
文は、別のFETCHOPTIONS
文が見つかるまで、後続のすべてのTABLE
文に適用されます。
ほとんどのインストールでは、デフォルトのフェッチ・プロパティで十分に機能します。
FETCHOPTIONS
は、SQL/MXには無効です。
デフォルト
紛失した行を無視し、処理を継続する
構文
FETCHOPTIONS [, FETCHPKUPDATECOLS] [,INCONSISTENTROW
action
] [, MAXFETCHSTATEMENTS number] [, MISSINGROW action] [, NOFETCH] [, SUPPRESSDUPLICATES] [, USEKEY | NOUSEKEY] [, USELATESTVERSION | NOUSELATESTVERSION] [, USESNAPSHOT | NOUSESNAPSHOT] [, USEROWID | NOUSEROWID]
FETCHPKUPDATECOLS
主キーが更新された場合、使用できないすべての列をフェッチします。このオプションは、デフォルトではオフです。オフにすると、有効化されている他のFETCHOPTIONS
オプションに従って、列のフェッチが実行されます。
オンにすると、主キー列への更新中のみ有効になります。結果は、TABLE
文でFETCHCOLS (*)
を使用した場合と同じです。LOB
列はフェッチに含まれます。
HANDLECOLLISIONS
を使用する場合に、このパラメータを使用します。Replicatが紛失した更新を検出すると、すべての列は、更新を挿入に変更できるようになります。
INCONSISTENTROW
action
行IDによる列データのフェッチは成功したものの、キーが一致しなかったことを示します。行IDが再利用されたか、この操作の後(およびフェッチの前)に主キー更新が行われました。
action
には、次のいずれかを指定できます。
MAXFETCHSTATEMENTS
number
Extractがソース・データベースから行データをフェッチするために使用可能な、許可される準備済問合せの最大数を制御します。フェッチされたデータは、トランザクション・ログ・レコードから論理SQL文を構築するために使用できる情報が不足しているときに使用されます。問合せは必要に応じて準備およびキャッシュされます。MAXFETCHSTATEMENTS
で指定した値に到達すると、最も古い問合せが最も新しい問合せに置き換えられます。このパラメータの値は、Extractがフェッチ問合せのみのために保持しているオープンされているカーソル数を制御します。Extractは、ストアド・プロシージャなど他の目的のために追加のカーソルを使用できます。このパラメータは、Oracleデータベースにのみ有効です。デフォルトは100です。データベースが、ここで指定するカーソル数の他に、別のアプリケーションおよびプロセスが使用するカーソルもサポートできることを確認してください。
複数のデータベースが含まれるInformix Extractの場合は、FETCHOPTIONS MAXFETCHSTATEMENTS 1
をExtractパラメータ・ファイルに追加する必要があります。これにより、キャプチャ・プロセスのパフォーマンスの低下を最小限に抑えることができます。これは単一データベースのExtractでは不要です。
MISSINGROW
action
Oracle GoldenGateがフェッチする行を特定できない場合のレスポンスを指定し、行(変更された値)の一部のみでも処理できるようにします。通常、行が特定できない理由は、変更レコードが作成されてからフェッチがトリガーされるまでの間に行が削除されてしまっているか、必要な行イメージが指定されているUNDO保存期間以前のものであったためです。
action
には、次のいずれかを指定できます。
NOFETCH
Extractによるデータベースからの列のフェッチを防ぎます。Extractはトレイルにレコードを書き込みますが、紛失した列であることを示すトークンを挿入します。
SUPPRESSDUPLICATES
Oracleに有効です。LOB列での更新時にターゲット表領域が過剰に大きくなるのを回避します。たとえば、レプリケーション後に、232MBソース表領域が7.52GBのターゲット表領域になる場合があります。
USEKEY | NOUSEKEY
フェッチする行を見つけるためにOracle GoldenGateが主キーを使用するかどうかを決定します。
USEKEY
およびUSEROWID
両方を指定する場合、レコードにより高速にアクセスできるROWID
の方が優先されます。USEROWID
はデフォルトです。
USELATESTVERSION | NOUSELATESTVERSION
Oracleに有効です。USESNAPSHOT
とともに使用します。デフォルトのUSELATESTVERSION
では、UNDO表領域からフェッチできない場合に、Extractにソース表からデータをフェッチさせます。NOUSELATESTVERSION
は、スナップショット・フェッチが失敗した場合に、Extractにその状況を無視して処理を継続させます。
スナップショット・フェッチが失敗した場合の代替アクションを指定するには、MISSINGROW
オプションを使用します。
USESNAPSHOT | NOUSESNAPSHOT
Oracleに有効です。デフォルトのUSESNAPSHOT
では、Extractに、REDOレコードから完全には取得できない特定の操作の再構築に必要なデータの適切なスナップショットを、Oracle Flashbackメカニズムを使用してフェッチさせます。NOUSESNAPSHOT
では、Extractに、フラッシュバック・ログではなくソース表から必要なデータをフェッチさせます。
USEROWID | NOUSEROWID
Oracleに有効です。フェッチする行を見つけるためにOracle GoldenGateが行IDを使用するかどうかを決定します。
USEKEY
およびUSEROWID
両方を指定する場合、レコードにより高速にアクセスできるROWID
の方が優先されます。デフォルトはUSEROWID
です。
例