レプリケーションのためのDDLフィルタリングの使用
MySQLのDDLレプリケーションでは次のオプションがサポートされます。
| オプション | 説明 |
|---|---|
|
|
表の作成を含めます。 |
|
|
|
|
|
ノート: EXCLUDEオプションは、このパラメータのINCLUDEオプションとともに追加する必要があります。
|
|
|
この文字列を含むDDLを含めます。 |
|
|
この文字列を含むDDLを除外します。 |
|
|
MySQL DDLではこのオプションが使用されます。Oracle GoldenGateのMySQL DDLレプリケーションのデフォルトとして使用する必要があります。 |
|
|
デフォルト・オプション。 |
すべてのオプションのリストは、『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 aがericに属するすべてのオブジェクトに対するcreateおよびdropを取得しますが、tabで始まるオブジェクトは除外されます。さらに、exttrail aはすべてのalter index文を取得しますが、索引名がtabで始まる場合は除外されます(たとえ、exttrail bに含まれていてもルールはグローバルです)。exttrail bはaと同じオブジェクトを取得し、さらにjoeに属するオブジェクトに対するすべてのcreateを取得します(文字列abcまたはxyzがDDLテキストに存在する場合)。ddlops.cモジュールはすべてのDDL操作パラメータを格納し、関連するルールを実行します。
さらに、DDLOPTIONSパラメータでは、フィルタリングおよび文字列置換以外のDDL処理を構成します。DDLOPTIONS文は複数使用可能ですが、1つの文のみを使用することをお薦めします。複数のDDLOPTIONS文を使用する場合は、相互に上書きしないように、それぞれを一意の文にする必要があります。複数のDDLOPTIONS文は、パラメータ・ファイルに指定された順に実行されます。
DDLおよびDDLOPTIONSに関する項を参照してください。