表レベルのサプリメンタル・ロギングの有効化
サプリメンタル・ロギングの有効化のプロセスでは、Oracle GoldenGateにより、ソース・データベースの表レベルのロギングが、ソースDML操作のチェンジ・データ・キャプチャをサポートするように設定され、ロギングのレベルに応じて、競合の検出と解決が構成された双方向レプリケーションなどの場合に必要となる、変更されない追加の列が含められます。
PostgreSQLには、表のREPLICA IDENTITY設定に相当する4つのレベルの表レベルのロギングがあり、これらのレベルにはNOTHING、USING INDEX、DEFAULTおよびFULLが含まれます。
Oracle GoldenGateでは、非圧縮の証跡レコードおよび競合の検出と解決を必要とするユースケースにFULLロギングが必要ですが、単純な単方向構成で変更がレプリケートされる主キーまたは一意索引が表に存在する場合、またはイメージ前レコードや非圧縮レコード全体が不要である場合は、DEFAULTレベルを使用できます。NOTHINGおよびUSING INDEXロギング・レベルはOracle GoldenGateでサポートされておらず、ADD TRANDATAでは設定できません。
次に、GGSCIから
ADD TRANDATAを発行する構文を示します。GGSCI> DBLOGIN SOURCEDB dsn_name USERIDALIAS alias_name
GGSCI> ADD TRANDATA schema.tablename ALLCOLSノート:
主キーまたは一意索引が存在する表では、表に対してFULLロギングを設定するためにALLCOLSオプションが必要であり、それ以外の場合は、DEFAULTロギングが設定されます。
FULLロギングは、ALLCOLSが指定されているかどうかに関係なく、主キーまたは一意索引が存在しない表に対して常に設定されます。
サプリメンタル・ロギングのレベルをチェックするには、次のようにします。
GGSCI> INFO TRANDATA schema.tablename