ケース3: リアルタイム・モードとアーカイブ・マイニング・モードが混在する複数ソースからのキャプチャ

次の例では、ダウンストリーム・マイニング・データベースDBMSCAPにExtractをデプロイして、データベースDBMS1、DBMS2およびDBMS3から変更をキャプチャします。

ノート:

この例では、必要なスタンバイREDOログ・ファイルをオンラインREDOログを受信するためのダウンストリーム・マイニング・データベースの準備に記載されているように作成してあるものとします。

次のユーザーが存在するものとします。

  • DBMS1にユーザーGGADM1。Extractはこの資格証明を使用して、DBMS1からデータとメタデータをフェッチします。DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE()プロシージャをコールして、DBMS1で適切な権限がこのユーザーに付与されているものとします。

  • DBMS2にユーザーGGADM2。Extractはこの資格証明を使用して、DBMS2からデータとメタデータをフェッチします。DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE()プロシージャをコールして、DBMS2で適切な権限がこのユーザーに付与されているものとします。

  • DBMS3にユーザーGGADM3。Extractはこの資格証明を使用して、DBMS3からデータとメタデータをフェッチします。DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE()プロシージャをコールして、DBMS3で適切な権限がこのユーザーに付与されているものとします。
  • DBMSCAPにユーザーGGADMCAP。Extractはこの資格証明を使用して、論理変更レコードをダウンストリーム・マイニング・データベースのログマイニング・サーバーから取得します。DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE()プロシージャをコールして、ダウンストリーム・マイニング・データベースDBMSCAPで適切な権限がこのユーザーに付与されているものとします。

この手順では、ダウンストリーム・マイニング・データベースがアーカイブ・マイニング・モードで構成されていることも前提とします。

この例では、DBMS3によって送信されるREDOはリアルタイム・モードでマイニングされ、DBMS1およびDBMS2から送信されるREDOデータはアーカイブ・マイニング・モードでマイニングされます。

ローカルREDOをアーカイブするためのマイニング・データベースの準備

ローカルREDOをアーカイブするためにマイニング・データベースを準備する手順:

  1. ダウンストリーム・マイニング・データベースは、アーカイブ・マイニング・モードである必要があります。これは、次のDDLコマンドを発行して行います。
    STARTUP MOUNT;
    ALTER DATABASE ARCHIVELOG;
    ALTER DATABASE OPEN;
  2. ダウンストリーム・マイニング・データベースでlog_archive_dest_1をアーカイブ・ローカルREDOに設定します。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/home/arc_dest/local
    VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE)'
  3. log_archive_dest_1を有効にします。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE

ソース・データベースからREDOを受け入れるためのマイニング・データベースの準備

REDOデータは、ダウンストリーム・マイニング・データベースのスタンバイREDOログに受け入れられるため、正しいサイズに設定されたスタンバイREDOログが適切な数存在する必要があります。スタンバイ・ログを構成していない場合は、「スタンバイREDOログ・ファイルの作成」を参照してください。

  1. ダウンストリーム・マイニング・データベースで、次の例に示すように、2つ目のアーカイブ・ログの宛先をLOG_ARCHIVE_DEST_n初期化パラメータに設定します。これは、アーカイブ・スタンバイREDOログを処理するために必要です。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='LOCATION=/home/arc_dest/srl_dbms3
    VALID_FOR=(STANDBY_LOGFILE,PRIMARY_ROLE)'
  2. 次の例に示すように、LOG_ARCHIVE_DEST_2パラメータに対応するLOG_ARCHIVE_DEST_STATE_2初期化パラメータを有効にします。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE
  3. ダウンストリーム・マイニング・データベースですべてのソース・データベースからREDOデータを受け入れるようDG_CONFIGを設定します。
    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(dbms1, dbms2, dbms3, dbmscap)'

REDOをマイニング・データベースに送信するための最初のソース・データベースの準備

REDOをマイニング・データベースに送信するための最初のソース・データベースを準備する手順:

  1. DBMS1ソース・データベースが、必要とされる互換性で稼働していることを確認します。
    select name, value from v$parameter where name = 'compatible'; 
  2. DG_CONFIGをDBMS1ソース・データベースで設定します。
    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(dbms1, dbmscap)';
  3. DBMS1ソース・データベースでREDO転送を設定します。REDOデータをダウンストリーム・マイニング・データベースの外部アーカイブ・ログに直接送信する場合、TEMPLATE句は必須です。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=DBMSCAP.EXAMPLE.COM ASYNC OPTIONAL NOREGISTER TEMPLATE='/usr/orcl/arc_dest/dbms1/dbms1_arch_%t_%s_%r.log VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=dbmscap';
  4. ダウンストリームの宛先を有効にします。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

REDOをマイニング・データベースに送信するための2番目のソース・データベースの準備

REDOをマイニング・データベースに送信するための2番目のソース・データベースを準備する手順:

  1. DBMS2ソース・データベースが、必要とされる互換性で稼働していることを確認します。
    select name, value from v$parameter where name = 'compatible';
  2. DBMS2ソース・データベースでDG_CONFIGを設定します。
    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(dbms2, dbmscap)';
  3. DBMS2ソース・データベースでREDO転送を設定します。REDOデータをダウンストリーム・マイニング・データベースの外部アーカイブ・ログに直接送信する場合、TEMPLATE句は必須です。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=DBMSCAP.EXAMPLE.COM ASYNC
    OPTIONAL NOREGISTER  TEMPLATE='/usr/orcl/arc_dest/dbms2/dbms2_arch_%t_%s_%r.log
    VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=dbmscap';
  4. ダウンストリームの宛先を有効にします。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

REDOをマイニング・データベースに送信するための3番目のソース・データベースの準備

REDOをマイニング・データベースに送信するための3番目のソース・データベースを準備する手順:

  1. DBMS3ソース・データベースが、必要とされる互換性で稼働していることを確認します。
    select name, value from v$parameter where name = 'compatible'; NAME VALUE
        --------- --------------------- compatible 11.1.0.0.0

    キャプチャに必要な最低限の互換性設定は、11.1.0.0.0です。

  2. DBMS3ソース・データベースでDG_CONFIGを設定します。
    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(dbms3, dbmscap)';
  3. DBMS3ソース・データベースでREDO転送を設定します。DBMS3はオンラインREDOログをダウンストリーム・マイニング・データベースのスタンバイREDOログに送信するソースであるため、TEMPLATE句は指定しないでください。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=DBMSCAP.EXAMPLE.COM ASYNC
        OPTIONAL NOREGISTER
        VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=dbmscap';
  4. ダウンストリームの宛先を有効にします。
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

ダウンストリーム・マイニング・データベースでのExtractの設定

このステップでは、DBMS1およびDBMS2によって送信されたアーカイブ・ログからキャプチャするようダウンストリーム・データベースでExtractを設定します。

DBMS1によって送信されたアーカイブ・ログから変更をキャプチャするためのExtract (ext1)の設定

DBMSCAPダウンストリーム・マイニング・データベースで次のステップを実行します。

  1. DBMS1ソース・データベース用にDBMSCAPにExtractを登録します。資格証明ストアでは、ggadm1のエイリアス名はggadm1@dbms1のユーザー接続文字列にリンクされています。ggadmcapのエイリアス名はggadmcap@dbmscapのユーザー接続文字列にリンクされています。
    DBLOGIN USERIDALIAS ggadm1 
    MININGDBLOGIN 
    USERIDALIAS ggadmcap 
    REGISTER EXTRACT ext1 DATABASE
  2. Extractをマイニング・データベースDBMSCAPで追加します。
    ADD EXTRACT ext1 INTEGRATED TRANLOG BEGIN NOW
  3. Extractパラメータ・ファイルext1.prmを編集します。資格証明ストアでは、ggadm1のエイリアス名はggadm1@dbms1のユーザー接続文字列にリンクされています。ggadmcapの別名はggadmcap@dbmscapのユーザー接続文字列にリンクされています。
    USERIDALIAS ggadm1 TRANLOGOPTIONS MININGUSERALIAS  
    ggadmcap TRANLOGOPTIONS INTEGRATEDPARAMS (downstream_real_time_mine N)
  4. Extractを起動します:
    START EXTRACT ext1
DBMS2によって送信されたアーカイブ・ログから変更をキャプチャするためのExtract (ext2)の設定

DBMSCAPダウンストリーム・マイニング・データベースで次のステップを実行します。

  1. ソース・データベースDBMS2用にマイニング・データベースにExtractを登録します。資格証明ストアでは、ggadm2のエイリアス名はggadm2@dbms2のユーザー接続文字列にリンクされています。ggadmcapのエイリアス名はggadmcap@dbmscapのユーザー接続文字列にリンクされています。
    DBLOGIN USERIDALIAS ggadm2 
    MININGDBLOGIN USERIDALIAS ggadmcap
    REGISTER EXTRACT ext2 DATABASE
  2. Extractをマイニング・データベースで作成します。
    ADD EXTRACT ext2 INTEGRATED TRANLOG, BEGIN NOW
  3. Extractパラメータ・ファイルext2.prmを編集します。資格証明ストアでは、ggadm2の別名はggadm2@dbms2のユーザー接続文字列にリンクされています。ggadmcapの別名はggadmcap@dbmscapのユーザー接続文字列にリンクされています。
    USERIDALIAS ggadm2 TRANLOGOPTIONS MININGUSERALIAS ggadmcap TRANLOGOPTIONS
    INTEGRATEDPARAMS (downstream_real_time_mine N)
  4. Extractを起動します:
    START EXTRACT ext2
DBMS3によって送信されたオンライン・ログからリアルタイム・モードで変更をキャプチャするためのExtract (ext3)の設定

DBMSCAPダウンストリーム・マイニング・データベースで次のステップを実行します。

  1. ソース・データベースDBMS3用にマイニング・データベースにExtractを登録します。資格証明ストアでは、ggadm3のエイリアス名はggadm3@dbms3のユーザー接続文字列にリンクされています。ggadmcapのエイリアス名はggadmcap@dbmscapのユーザー接続文字列にリンクされています。
    DBLOGIN USERID ggadm3
    MININGDBLOGIN USERID ggadmcap
    REGISTER EXTRACT ext3 DATABASE
  2. Extractをマイニング・データベースで作成します。
    ADD EXTRACT ext3 INTEGRATED TRANLOG, BEGIN NOW
  3. Extractパラメータ・ファイルext3.prmを編集します。資格証明ストアでは、ggadm3の別名はggadm3@dbms3のユーザー接続文字列にリンクされています。ggadmcapの別名はggadmcap@dbmscapのユーザー接続文字列にリンクされています。
    USERIDALIAS ggadm3 
    TRANLOGOPTIONS MININGUSERALIAS ggadmcap TRANLOGOPTIONS
    INTEGRATEDPARAMS (downstream_real_time_mine N)
  4. Extractを起動します:
    START EXTRACT ext3

ノート:

同一のソース・データベースからデータをキャプチャする(前述の例でデータベースDBMS3の変更をキャプチャするなど)かぎり、リアルタイム統合キャプチャ・モードで実行されるExtractをダウンストリーム・マイニング・データベースに複数作成できます。