ダウンストリームExtractがADGと連携できるようにする

カスケードされたダウンストリーム取得環境では、ダウンストリーム・データベースはソース・データベースに直接接続しません。Active Data Guard (ADG)を参照として使用します。

Extractは、ソースレス・オプションを使用して起動する必要があります。そうすることで、非ネイティブのデータ型をフェッチする必要があるときには、ソース・データベースに接続するかわりに、FETCHUSERIDまたはFETCHUSERIDALIASを使用してADGに接続するようにします。たとえば、このインスタンスは読取り専用モードで開かれているため、FETCH操作はADGデータベースで処理されます。ADGインスタンスで処理できないその他の操作(ディクショナリ・ビルドの作成など)は、ADGからソース・データベースにリダイレクトされます。

ダウンストリームExtractを登録すると、Oracle GoldenGateは、REDOが発生したデータベースではなく、ソース・データベースとしてADGに接続します。ADGリダイレクションが、次のコマンドおよびパラメータでサポートされています。
  • SCHEMATRANDATA

  • TRANDATA

  • FLUSH SEQUENCE

  • TRACETABLE

  • HEARTBEATTABLE

  • REGISTER EXTRACT

ノート:

SCHEMATRANDATAおよびTRANDATAは、コマンドがスタンバイREDOログで実行された場合でも、実際のDML操作が実行されるプライマリ・データベースで実際のログ・グループが作成および管理されます。
ADGリダイレクションは、Oracle Database 21c以降で使用できます。ワイルドカード登録もサポートしています。次の例は、ADGを使用する場合のダウンストリームExtractのExtractパラメータ・ファイルを示しています。
EXTRACT EXTDSC
NOUSERID
TRANLOGOPTIONS MININGUSERALIAS cgg_cdbDSC_src DOMAIN OracleGoldenGate
TRANLOGOPTIONS INTEGRATEDPARAMS (DOWNSTREAM_REAL_TIME_MINE Y) FETCHUSERIDALIAS cgg_cdbADG_src DOMAIN OracleGoldenGate 

EXTTRAIL cascade/ea 
SOURCECATALOG CDBNORTH_PDB01
DDL INCLUDE MAPPED
TABLE HR.*;

次に、ダウンストリーム統合ExtractがADGスタンバイと連携できるようにするステップを示します。

  1. 次の例に示すように、ADGスタンバイにLOG_ARCHIVE_DESTINATION_N (LAD)を追加します。

    ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='service=mining_db_service_name ASYNC NOREGISTER VALID_FOR(STANDBY_LOGFILES,STANDBY_ROLES) DB_UNIQUE_NAME=3rd_db_unique_name' scope=both

    このステップにより、ADGスタンバイのstandby_logfilesが転送および生成されます。

  2. 次の例に示すように、ログをマイニング・データベースに送るようにADGスタンバイのLOG_ARCHIVE_CONFIGを設定します。

    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='dg_config' scope=both;

    db_configは、1番目、2番目および3番目のデータベースの一意の名前です。

  3. マイニング・データベースで、受信するstandby_logfilesをマイニング・データベースに格納する場所を設定します。

    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='location= DB_RECOVERY_FILE_DEST VALID_FOR=(STANDBY_LOGFILE,ALL_ROLES)' scope=both

    場所は、データベース・リカバリ・ファイルの宛先です。

  4. 次の例に示すように、マイニング・データベースでLOG_ARCHIVE_CONFIGを実行して、Extractプロセスがマイニング・データベースでそれらを読み取れるようにします。

    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='dg_config' scope=both

    ここで、db_configは、1番目、2番目および3番目のデータベースの一意の名前です。

  5. ダウンストリームExtractの場合、データベース接続が適切に構成されるようにする必要があります。Extractを登録するときは、ADGスタンバイに対してDBLOGIN接続が確立され、読取り専用アクティビティ用に開いていることを確認します。

  6. Extractを追加して登録するには、次のコマンドを使用します。

    DBLOGIN USERID ggadmin@cdbADG_src, PASSWORD ggadmin
    MININGDBLOGIN USERID ggadmin@cgg_cdbDSC, password ggadmin

    cdbADG_srcは、プライマリではないADGです。

    cgg_cdbDSCはマイニング・データベースです。

  7. 次に、NOUSERIDパラメータを使用するExtractを登録します。
    ADD EXTRACT exte, INTEGRATED TRANLOG, BEGIN NOW REGISTER EXTRACT exte DATABASE
  8. Extractの登録後、このExtractを使用してデータをマイニングし、正常にExtractを開始できます。