レプリケーションのためのDDLフィルタリングの使用

MySQLのDDLレプリケーションでは次のオプションがサポートされます。

オプション 説明

DDL INCLUDE OPTYPE CREATE OBJTYPE TABLE;

表の作成を含めます。

DDL INCLUDE OBJNAME ggvam.*

ggvamデータベース配下の表を含めます。

DDL EXCLUDE OBJNAME ggvam.emp*;

ggvamデータベース配下のすべての表、およびempワイルドカードで始まる表名を除外します。

DDL INCLUDE INSTR 'XYZ'

この文字列を含むDDLを含めます。

DDL EXCLUDE INSTR 'WHY'

この文字列を含むDDLを除外します。

DDL INCLUDE MAPPED

MySQL DDLではこのオプションが使用されます。Oracle GoldenGateのMySQL DDLレプリケーションのデフォルトとして使用する必要があります。DDL INCLUDE ALLおよびDDLはサポートされません。

DDL EXCLUDE ALL

デフォルト・オプション。

すべてのオプションのリストは、『Oracle GoldenGateリファレンス』DDLに関する項を参照してください。

DDL文とオプションの使用

  • INCLUDE (デフォルト)は、後続の記述に適合するすべてのオブジェクトを包含します。EXCLUDEは記述に適合する項目を除外します。除外ルールは包含ルールより優先されます。

  • OPTYPEは包含または除外する操作のタイプを指定します。CREATEおよびALTERを使用できます。カッコを使用して複数のOPTYPEを指定できます。たとえば、optype (create, alter)と指定します。アスタリスク(*)のワイルドカードを指定して、すべての操作タイプを指定できます(デフォルト)。

  • OBJTYPEは包含または除外するTABLE操作を指定します。ワイルドカードを指定して、すべてのオブジェクト・タイプを指定できます(デフォルト)。

  • OBJNAMEは包含または除外する実際のオブジェクト名を指定します。たとえば、eric.*と指定します。ワイルドカードは、複数の表を指定するその他の場合と同様に指定します。デフォルトは*です。

  • Stringは、stringspecの文字列が存在する場合はルールがtrueであることを示します(または、excludestringを指定すると、stringspecが存在する場合はfalseになります)。複数のstring項目を指定する場合は、各stringspecの少なくとも1つの項目が存在しなければ、ルールはtrueになりません。

    たとえば:
    ddlops string (“a”, “b”), string (“c”) evaluates true if string “a” OR “b” is present, AND string “c” is present
  • localは、現在のExtract証跡のみにルールを適用する場合に指定します(ルールを適用するExtract証跡をこのddlops指定の前に記述する必要があります)。

  • パラメータ項目の終了を示すためにセミコロンが必要です。

    たとえば:

    ddl optype (create, drop), objname (eric.*);
    ddl exclude objname (eric.tab*);
    exttrail a;
    exttrail b;
    ddl optype (create), objname (joe.*), string (“abc”, “xyz”) local;
    ddl optype (alter), objtype (index);

    この例では、exttrail aericに属するすべてのオブジェクトに対するcreateおよびdropを取得しますが、tabで始まるオブジェクトは除外されます。さらに、exttrail aはすべてのalter index文を取得しますが、索引名がtabで始まる場合は除外されます(たとえ、exttrail bに含まれていてもルールはグローバルです)。exttrail baと同じオブジェクトを取得し、さらにjoeに属するオブジェクトに対するすべてのcreateを取得します(文字列abcまたはxyzがDDLテキストに存在する場合)。ddlops.cモジュールはすべてのDDL操作パラメータを格納し、関連するルールを実行します。

さらに、DDLOPTIONSパラメータでは、フィルタリングおよび文字列置換以外のDDL処理を構成します。DDLOPTIONS文は複数使用可能ですが、1つの文のみを使用することをお薦めします。複数のDDLOPTIONS文を使用する場合は、相互に上書きしないように、それぞれを一意の文にする必要があります。複数のDDLOPTIONS文は、パラメータ・ファイルに指定された順に実行されます。

DDLおよびDDLOPTIONSに関する項を参照してください。