処理に対するDDLの評価方法

Oracle GoldenGateパラメータの異なる基準が処理される順序、およびExtractとReplicatがそれぞれDDLを処理する方法の違いについて学習します。

Extract 1 Extractは、DDL文をキャプチャします。

  1. Extractは、コメントがあれば、メインの文から分離します。

  2. Extractは、DDLパラメータを検索します。(この例では、存在すると仮定します。)

  3. Extractは、IGNOREREPLICATESパラメータを検索します。これがあり、ReplicatがこのシステムでこのDDLを生成した場合、ExtractはそのDDL文を無視します。(この例では、このシステムではReplicat操作がないものとします。)

  4. Extractは、DDL文がRENAMEかどうかを判断します。そうである場合、名前変更に内部的にフラグが付けられます。

  5. Extractは、ベース・オブジェクト名と導出オブジェクト名(存在する場合)を取得します。

  6. 文がRENAMEの場合、ExtractはこれをALTER TABLE RENAMEに変更します。

  7. Extractは、DDLOPTIONS REMOVECOMMENTS BEFOREパラメータを検索します。これがある場合、ExtractはDDL文からコメントを削除しますが、INSTRまたはINSTRCOMMENTSを使用するDDL INCLUDEまたはDDL EXCLUDE句に備えて保存します。

  8. ExtractはDDLのスコープ(MAPPED、UNMAPPEDまたはOTHER)を判断します。

    • 操作とオブジェクト・タイプがマッピングに対してサポートされており、ベース・オブジェクト名や導出オブジェクト名(RENAMEの場合)がTABLEパラメータに含まれている場合、MAPPEDです。

    • 操作とオブジェクト・タイプがマッピングに対してサポートされておらず、ベース・オブジェクト名や導出オブジェクト名(RENAMEの場合)がTABLEパラメータに含まれていない場合、UNMAPPEDです。

    • これ以外の場合、操作はOTHERと識別されます。

  9. Extractは、DDLパラメータにINCLUDE句とEXCLUDE句があるかどうかをチェックし、これらの句のDDLパラメータ基準を評価します。INCLUDEまたはEXCLUDEがTRUEと評価されるには、すべてのオプションがTRUEと評価される必要があります。この場合は、次のようになります:

    • EXCLUDE句がTRUEと評価される場合、ExtractはDDL文を破棄し、別のDDL文を評価します。この場合は、処理ステップが最初から始まります。

    • INCLUDE句がTRUEと評価される場合、またはDDLパラメータにINCLUDE句もEXCLUDE句も含まれていない場合、ExtractはDDL操作を含めて、処理ロジックが続けられます。

  10. Extractは、DDLSUBSTパラメータを検索し、INCLUDE句およびEXCLUDE句を評価します。それらの句の基準が最終的にTRUEになる場合、Extractは文字列の置換を行います。Extractは、パラメータ・ファイル内の各DDLSUBSTパラメータに対してDDL文を評価します。すべてのtrueのDDLSUBST指定について、DDLSUBSTパラメータがファイル内にリストされている順に、Extractによって文字列の置換が行われます。

  11. DDLSUBTが処理されたため、ExtractはREMOVECOMMENTS AFTERパラメータを検索します。これがある場合、ExtractはDDL文からコメントを削除します。

  12. Extractは、DDLOPTIONS ADDTRANDATAを検索します。これがある場合、操作がCREATE TABLEであれば、ExtractはALTER TABLE name ADD SUPPLEMENTAL LOG GROUPコマンドを表に対して発行します。

  13. Extractは、DDL文を証跡に書き込みます。