スキーマ・レベルのサプリメンタル・ロギングの有効化

Oracle GoldenGateでは、スキーマ・レベルのサプリメンタル・ロギングをサポートしています。スキーマ・レベルのロギングは、Oracle GoldenGate DDLレプリケーション機能を使用する場合に、Oracleソース・データベースで必要です。その他すべてのユースケースではオプションですが、表レベルのロギングをかわりに使用する必要があります(「表レベルのサプリメンタル・ロギングの有効化」を参照してください)。

スキーマ・レベルのロギングでは、デフォルトで主キーの無条件のサプリメンタル・ロギングを自動的に有効化し、スキーマのすべての表の一意キーおよび外部キーの条件付きのサプリメンタル・ロギングを自動的に有効化します。必要に応じて、オプションでロギングを変更できます。

ノート:

ワイルドカード指定を満たす場合に、スキーマに追加される新しい表がキャプチャされるため、表レベルのロギングよりもスキーマ・レベルのロギングを使用することを強くお薦めします。キー列の変更がサプリメンタル・ログ・データにも自動的に反映されるため、この方法もお薦めします。たとえば、キーが変更された場合に、ADD TRANDATAを発行する必要はありません。

次のステップをソース・システムで実行して、スキーマ・レベルのサプリメンタル・ロギングを有効化します。

  1. ソース・システムでコマンドラインを起動します。
  2. 資格証明ストア内の、スキーマ・レベルのサプリメンタル・ロギングを有効にする権限を持つユーザーの別名でDBLOGINコマンドを発行します。
    DBLOGIN USERIDALIAS alias

    USERIDALIASおよびその他のオプションの詳細は、Oracle GoldenGateパラメータおよび機能リファレンスUSERIDALIASを参照してください。

  3. マルチテナント・データベースでADD SCHEMATRANDATAまたはADD TRANDATAを使用している場合は、PDBに直接ログインしてコマンドを実行できます。または、(C##ユーザーを使用して)ルート・レベルでログインする場合は、PDBを含める必要があります。Oracle GoldenGateでデータの変更をキャプチャする対象の各スキーマに対し、ADD SCHEMATRANDATAコマンドを発行します。
    ADD SCHEMATRANDATA pdb.schema [ALLCOLS | NOSCHEDULINGCOLS]

    説明:

    • オプションがない場合、ADD SCHEMATRANDATAスキーマでは、主キーのソース・システムで無条件のサプリメンタル・ロギングを有効化し、指定したスキーマの現在および将来のすべての表のすべての一意キーおよび外部キーの条件付きのサプリメンタル・ロギングを有効化します。無条件ロギングでは、主キーの値を、キーが現在の操作で変更されたかどうかにかかわらず、強制的にログに記録します。条件付きロギングは、外部キーまたは一意キーの列のすべての値を、それらのうちの少なくとも1つが現在の操作で変更された場合に、ログに記録します。デフォルトは、非統合Replicatをオプションでサポートしますが、依存関係を計算するために、主キー、一意キーおよび外部キーをすべてインバウンド・サーバーで使用できるようにする必要があるため、統合Replicatをサポートする必要があります。統合Replicatの詳細は、「Replicatのタイプ」を参照してください。

    • ALLCOLSを使用すると、表のすべての列の無条件のサプリメンタル・ロギングを有効化して、指定したスキーマの現在および将来のすべての表に適用できます。ソース表とターゲット表に異なるスケジューリング列が含まれる場合に、統合Replicatをサポートするために使用します。(スケジューリング列は、主キー、一意キーおよび外部キーです。)

    • NOSCHEDULINGCOLSは、スキーマの既存の表および後で追加された新しい表で、主キーおよび有効なすべての一意索引の値のみをログに記録します。これは、必要最小限のレベルのスキーマ・レベルのロギングで、非統合モードのReplicatのみで有効です。

    次の例では、hrスキーマのデフォルトのサプリメンタル・ロギングをコマンドで有効にします。

    ADD SCHEMATRANDATA pdbeast.hr ALLCOLS

    次の例では、HRスキーマの主キーおよび有効な一意索引のみでサプリメンタル・ロギングをコマンドで有効にします。

    ADD SCHEMATRANDATA pdbeast.hr NOSCHEDULINGCOLS