ノート:

Oracle Databaseを使用した、Oracle Cloud Infrastructureのリージョン間でのOracle GoldenGate Microservicesのデプロイ

イントロダクション

Oracle GoldenGateマイクロサービス・アーキテクチャ(MA)は、複数のデータベース環境間でデータ・レプリケーションを管理および構成できるレプリケーション・ツールです。RESTfulサービスとマイクロサービス・ベースのアーキテクチャを使用して、クラウド・デプロイメントの管理、構成および監視を簡素化します。

イメージ

Oracle GoldenGate 23ai:

Oracle GoldenGate 23ai評価履歴

イメージ

Oracle GoldenGate 23aiの機能

イメージ

Oracle GoldenGateの実装

このチュートリアルでは、ソース・データベースとターゲット・データベースをOracle Database 23aiおよびOracle GoldenGate 23aiマイクロサービスとしてOCIのサービスとして使用し、ソース・データベース(DB)のアッシュバーン・リージョンからターゲットDBのサンノゼ・リージョンにデータをレプリケートします。Oracle GoldenGateは、どちらのリージョンにもデプロイできます。Oracle GoldenGateをサンノゼ・リージョンにデプロイし、同じOracle GoldenGateデプロイメントを使用してソース・データベースとターゲット・データベースの両方に接続します。

イメージ

ノート:これは簡単なダイアグラムです。実際のネットワーク名は異なる場合があります。

環境:

OCIリージョン コンパートメント VCN サブネット CDB PDB Vault キー シークレット Golden Gate
アッシュバーン データベース/NonProd VCN_ASH 公開/Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH NA NA NA
San Jose データベース/NonProd VCN_SJ 公開/Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey 卵管理者 OGG_Dep_23ai

対象読者

このチュートリアルは、Oracle GoldenGateマイクロサービスについて学習するシステム管理者およびデータベース・ユーザーを対象としています。読者は、Oracle GoldenGateテクノロジ、Webテクノロジ、OCIに精通しており、UNIXプラットフォームの一般的な知識があることを前提としています。

目的

前提条件

タスク1: Oracle GoldenGateデプロイメントのプロビジョニング

OCIでOracle GoldenGateデプロイメントをサービスとしてプロビジョニングするには、デプロイメントおよび接続を作成するユーザーに最小限のポリシーが必要です。メンテナンス中の追加タスクは、デプロイメントを停止して開始することです。

次のポリシーが必要です:

allow group <identity-domain>/<group-name> to manage goldengate-family in compartment <compartment-name>
allow group <identity-domain>/<group-name> to manage virtual-network-family in compartment <compartment-name>
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in tenancy
allow group <identity-domain>/<group-name> to manage secret-family in <location>
allow group <identity-domain>/<group-name> to use keys in <location>
allow group <identity-domain>/<group-name> to use vaults in <location>
allow service goldengate to use keys in <location>
allow service goldengate to use vaults in <location>

Oracle GoldenGateデプロイメントをプロビジョニングするには、OCIコンソールに移動し、それぞれのリージョンおよびコンパートメントを選択します。

  1. 「Oracle Database」をクリックし、「GoldenGate」を選択します。

  2. 「デプロイメント」を選択し、「デプロイメントの作成」をクリックします。

  3. デプロイメントの「名前」を入力し、Oracle GoldenGateデプロイメントが存在する必要があるコンパートメントを作成し、「デプロイメントまたはテスト」を選択して、「OCPU数」を入力します。現在、自動スケーリングは無効になっていますが、後で有効にできます。「サブネット」「ライセンス・タイプ」を選択し、「次へ」をクリックします。

    イメージ

  4. Oracle GoldenGateのデプロイメント・タイプバージョンおよびGoldenGateインスタンス名を選択し、管理者ユーザー名oggadminと入力し、「前提条件」セクションでシークレットが作成されるコンパートメント名を指定し、ドロップダウン・メニューから「パスワード・シークレット」を選択して「作成」をクリックします。

    イメージ

    Oracle GoldenGateデプロイメントの作成には数分かかります。Oracle GoldenGateデプロイメントは、コンパートメント(root)/Database/NonProdの下に作成されます。

タスク2: Oracle GoldenGateコンソールへのログイン

  1. Oracle GoldenGateのデプロイメントが完了したら、「デプロイメント」を開き、「コンソールの起動」をクリックします。

    イメージ

  2. デプロイメントの作成時に使用されるOracle GoldenGateデプロイメントのユーザー名およびパスワードを使用してログインします。(Ex.oggadmin/password)

    イメージ

タスク3.ソースおよびターゲット・データベースの準備

ノート: Oracle GoldenGate 23ai以降では、ルートレベルのExtractはサポートされていません。つまり、ユーザー権限はPDBレベルでのみ割り当てられ、c##ggadminユーザーはOracle GoldenGate 23aiでは使用されません。Oracle Databaseを使用するOracle GoldenGate 23aiでは、ソースおよびターゲットのプラガブル・データベース(PDB)を実装できます。Extractは、PDBごとの抽出と呼ばれる特定のPDBに登録されます。

  1. ソース・データベースで強制ロギングが有効になっていることを確認します。

    select name, force_logging from v$database;
    ALTER DATABASE FORCE LOGGING;
    select name, force_logging from v$database;
    
  2. 最小サプリメンタル・ロギングを有効にします。

    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
  3. Oracle GoldenGate Extractのパラメータを変更します。

    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
    alter system set streams_pool_size=2G scope=both sid='*';
    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    
  4. ソース・データベース(PDB)で次の問合せを実行します。

    alter session set container=VMDB1_PDB1;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_CAPTURE TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    
  5. ターゲット・データベース(PDB)で次の問合せを実行します。

    alter session set container=VMDB1_GG;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_APPLY, OGG_APPLY_PROCREP  TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    

タスク 4ソースおよびターゲット・データベースへの接続の作成

Oracle GoldenGateのデプロイメントとデータベースの準備ができたら、Oracle GoldenGateサービスとデータベース間で接続する必要があります。

  1. OCIコンソールにログインし、リージョンとコンパートメントを選択します。

  2. 「Oracle Database」をクリックし、「GoldenGate」を選択します。

  3. 「接続」を選択し、「接続の作成」をクリックします。

  4. 接続の名前、接続を作成するコンパートメント、データベースのタイプを入力し、「次へ」をクリックします。

    イメージ

  5. ソース・データベースへの接続を作成するには、次の情報を入力して「作成」をクリックします。

    • データベースが別のリージョンにあるため、「データベース情報の入力」を選択します。
    • データベース接続文字列:ホスト名では解決にDNSが必要となるため、ホスト名としてIPを入力します。
    • データベース・ユーザー名:タスク3で作成したGGADMINを入力します。
    • データベース・ユーザー・パスワード:データベース・ユーザー・パスワードを入力します。
    • トラフィック・ルーティング方法: 「専用エンドポイント」を選択します。
    • セッション・モード: 「直接」を選択します。
    • サブネット・パブリック: Subnet-VCN_SJと入力します。

    イメージ

    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = vmdb1_pdbsub02090909270.vcnash.oraclevcn.com)))
    

    接続が作成されたら、GoldenGateで接続の詳細を開き、「割当て済デプロイメント」および「デプロイメントの割当て」をクリックします。

    イメージ

  6. ソースと同様に、接続OGG_VMDB2_SJをターゲット・データベースに作成し、デプロイメントを割り当てます。Oracle GoldenGateとOracle Databaseは同じリージョンおよびVCNにあるため、次のスクリーンショットに示すようにデータベースを直接選択できる点のみが異なります。

    イメージ

    データベースは同じリージョンにあるため、データベースを直接選択し、タスク3で作成したGGADMINのデータベース・ユーザー名とパスワードを入力できます。

    イメージ

  7. Oracle GoldenGateでソースおよびターゲット接続を検証します。接続が作成されたら、Oracle GoldenGateコンソールにログインします。「DB接続」をクリックすると、すべての接続が表示されます。「ソース接続とターゲット接続」をクリックし、両方の接続が解決されていることを確認します。

    イメージ

タスク5: 構成の抽出

  1. トランザクション・データの追加

    ノート: TRANDATAを追加して、表レベルのサプリメンタルを有効にしてください。スキーマ・レベルのサプリメンタル・ロギングが有効になっている場合は、これらのステップをスキップできます。

    1. trandataを追加するには、まずOracle GoldenGateコンソールからソース・データベースに接続する必要があります。ソース・データベース接続をクリックします。

    2. 「+」をクリックし、「表」または「スキーマ」を選択して、「表名」または「スキーマ名」を入力します。

      表レベルのレプリケーションの場合は、「表」を選択し、表名を<Schema_Name.Table_Name>の形式で入力します。

    3. 表にキーがない場合は「すべての列」を選択し、「CSNモードの準備」「nowait」を選択します。

      イメージ

    4. trandataを追加したら、次の図に示すように、検索バーに表またはスキーマ名を指定して検索できます。

      イメージ

  2. 統合Extractを作成します。

    1. Oracle GoldenGateコンソールでソース・データベース(PDB)のOGG_VMDB1_PDB1_ASH接続に接続し、CheckPoint表を作成します。

      イメージ

    2. Oracle GoldenGateコンソールでソース・データベース(PDB)のOGG_VMDB1_PDB1_ASH接続に接続し、ターゲット・データベース専用のハートビート表を作成します。

      イメージ

  3. 統合Extractを追加してください。

    1. trandataが正常に追加されたら、前述の表またはスキーマの統合Extractを追加します。Oracle GoldenGateのナビゲーション・メニューから抽出を選択します。「抽出」セクションで「+」をクリックします。

    2. 「統合Extract」を選択し、「プロセス名」(最大8文字)および「説明」を入力します。

      イメージ

    3. ドロップダウン・メニューの資格証明「別名」「証跡」「暗号化プロファイル」などから、ソース資格証明「ドメイン」としてOracleGoldenGateを選択します。

      イメージ

    4. 「管理対象オプション」セクションで、「プロファイル名」「自動再起動」「最大再試行数」「再試行遅延分数」「再試行ウィンドウ」を選択し、「次へ」をクリックします。

      イメージ

    5. デフォルトのパラメータ・ファイルを作成したら、必要に応じてパラメータ・ファイルに必要なパラメータを追加し、「作成」をクリックします。

      イメージ

      DEV抽出で使用されるパラメータ。

      EXTRACT EX_VMDB1
      USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate
      EXTTRAIL et
      TABLE GG_ASH.*;
      
  4. 統合Extractを起動します。

    1. 抽出が作成されたら、「開始」をクリックします。

      イメージ

      抽出が正常に実行されると、「実行中」ステータスで表示されます。

      イメージ

    2. 「抽出プロセス」を展開すると、チェックポイント、統計、レポートなどの多くのセクションが表示されます。現在、レポートを参照できます。右側の「リフレッシュ」をクリックして、レポートまたは統計をリフレッシュします。

      イメージ

タスク6: 初期データ・ロード

  1. ソースPDBから、前述のスキーマのSCNベースのエクスポート・ダンプを取得します。

    $mkdir -p /u01/app/oracle/dump
    
    SQL>  alter session set container=VMDB1_PDB1;
    set lines 300 pages 100
    col DIRECTORY_NAME for a30
    col DIRECTORY_PATH for a100
    select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='DUMP' ;
    
    create directory dump as '/u01/app/oracle/dump';
    grant read,write on directory DUMP to GG_ASH;
    
    SQL> select current_scn from v$database;
    
    CURRENT_SCN
    -----------
       20049713
    
    expdp GG_ASH/PPassword_123@VMDB1_PDB1_ASH directory=dump dumpfile=GG_ASH.dmp logfile=GG_ASH.log schemas=GG_ASH FLASHBACK_SCN=20049713
    
  2. ターゲットPDBでデータをインポートします。

    ノート:このチュートリアルでは、DBAにGG_ashへのアクセス権を付与しましたが、要件に応じてアクセス権を付与できます。

    $mkdir -p /u01/app/oracle/dump/
    SQL> alter session set container=VMDB2_GG1;
    SQL> create user GG_ash identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs ;
    SQL> grant DBA to GG_ash;
    SQL> create directory dump as '/u01/app/oracle/dump';
    SQL> grant read,write on directory DUMP to GG_ASH;
    [oracle@sjvmdb2 admin]$ cp /tmp/GG_ASH.dmp /u01/app/oracle/dump/GG_ASH.dmp
    [oracle@sjvmdb2 admin]$ impdp GG_ASH/PPassword_123@VMDB2_GG1 directory=dump dumpfile=GG_ASH.dmp logfile=imp_GG_SJ.log
    

タスク7: Replicat構成

  1. 統合Replicatを作成します。

    1. trandataを追加するには、まずOracle Goldengateコンソールからソース・データベースに接続する必要があります。左側のペインで「レプリケート」を選択し、「レプリケーション」「+」をクリックします。

    2. 統合Replicatを選択し、Replicat名説明を入力して、をクリックします。

      イメージ

    3. Replicat証跡(Extractプロセス- タスク5での指定と同じ)、暗号化プロファイルドメイン別名CheckPoint表(Extract - タスク5で作成)およびログの場所を入力します。

      イメージ

    4. 「管理対象オプション」セクションで、「プロファイル名」「自動再起動」「最大再試行数」「再試行遅延」「再試行ウィンドウ」の順に選択し、「次へ」をクリックします。

      イメージ

    5. デフォルトのパラメータ・ファイルが作成されると、必要に応じて、パラメータ・ファイルに必要なパラメータを追加し、「作成」をクリックします。

      イメージ

  2. flashback_SCNからReplicatを起動します。

    1. Replicatプロセスが作成されたら、3つのドットをクリックし、「オプションで開始」をクリックします。

      イメージ

    2. 「開始ポイント」「CSNの後」および「CSN」番号を選択します。これは、エクスポートの実行中にフラッシュバックSCNとして使用したSCN番号です。「重複のフィルタ」を有効にし、「開始」をクリックします。

      イメージ

    3. Replicatをクリックすると、チェックポイント、統計、レポートなどの多くのセクションが表示されます。右側の「レポート」および「リフレッシュ」をクリックして、レポートまたは統計をリフレッシュします。

      イメージ

タスク8: データ・レプリケーションの検証

  1. ExtractおよびReplicatを構成したら、Oracle GoldenGateコンソールにログインし、「ホーム」をクリックします。ExtractとReplicatの両方が実行されていることがわかります。

  2. ソース・データベース(PDB)にデータを挿入します。同じデータがターゲット・データベース(PDB)に反映されます。

    イメージ

  3. ソース・データベースに接続します。

    イメージ

  4. ターゲット・データベースに接続します。

    イメージ

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。