OCI上のHeatWaveからAutonomous Data Warehouseへのデータのレプリケート

OCI GoldenGateを使用して、OCI上のHeatWaveからAutonomous Data Warehouseにデータをレプリケートする方法について学習します。

概要

このクイックスタート例では、OCI上のHeatWaveとOCI GoldenGateを使用してAutonomous Data Warehouse間のレプリケーションを設定および実行する方法を示します。

開始する前に

このクイックスタートを正常に完了するには、次が必要です:

  • OCI Bastion: OCI上のHeatWaveへの接続、サンプル・データベースのロード、および挿入の実行
  • ソース・データベースとして機能するOCIデータベース上のHeatWave
  • ターゲット・データベースとして機能するAutonomous Data Warehouseインスタンス

環境設定: OCI上のHeatWave

このクイックスタートの環境を設定するには:
  1. サンプル・データ・スクリプトのダウンロードし、OCIデータベースのHeatWaveでスクリプトを実行してデータベースの作成とデータのロードを行います。
  2. 次のスクリプトを使用して、ggadminユーザーを作成します。<ggadmin-password>を有効なパスワードに置き換えてください:
    CREATE USER 'ggadmin' IDENTIFIED BY '<ggadmin-password>';
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT, CREATE,CREATE VIEW, EVENT, INSERT, UPDATE, DROP,EXECUTE, DELETE ON *.* TO 'ggadmin';
  3. OCI GoldenGateが接続できるようにport 3306を開きます。
    1. Oracle Cloudコンソールで、OCIデータベース上のHeatWaveが使用するサブネットを見つけます。
    2. サブネットのセキュリティ・リストで、port TCP/3306のイングレス・ルールを作成します。
  4. ターゲット・スキーマ・スクリプトをダウンロードし、Autonomous Data Warehouseインスタンスでスクリプトを実行してスキーマおよび表を作成します。Autonomous Data Warehouseのデータベース・アクションSQLツールを使用して、スクリプトを実行できます:
    1. Oracle Cloudコンソールで、Autonomous Data Warehouseデータベースの詳細ページを開き、「データベース・アクション」をクリックします。
    2. 「データベース・アクション」の「開発」で、「SQL」をクリックします。
    3. SQLツールで、OCIGGLL_OCIGGS_SETUP_USERS_ADW.sqlからSQLワークシートにスクリプトをコピーして貼り付け、「スクリプトの実行」をクリックします。成功すると、「スクリプト出力」タブに確認メッセージが表示されます。
    4. SQLワークシートをクリアして、OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sqlから表の作成スクリプトのみをコピーして貼り付けます。データは後のタスクでロードされます。

      ヒント:

      SQLツールでスクリプトを正常に実行するには、表の作成文をそれぞれ個別に実行する必要がある場合があります。
    5. 表が正常に作成されたことを確認するには、SQLウィンドウを閉じて再度開きます。「ナビゲータ」タブで、SRC_OCIGGLLスキーマを検索し、それぞれのドロップダウンから表を選択します。

タスク2: Extractの作成

  1. 「デプロイメント」ページで、タスク1で作成したMySQLデプロイメントを選択します。
  2. 「デプロイメントの詳細」ページで、「コンソールの起動」をクリックします。
  3. タスク1でデプロイメントを作成したときに指定した管理者資格証明を使用して、ソースMySQLデプロイメント・コンソールにサインインします。
  4. ナビゲーション・メニューで、「DB Connections」を選択します。
  5. OCI接続でHeatWaveの資格証明を確認します。ドメインと別名をメモしておいてください。
  6. 次の値を指定して、Change Data Capture Extractを追加して実行します。
    • Extractタイプで、Change Data Captureを選択します。
    • 「プロセス名」に、Extractプロセスの名前を入力します。
    • 「ドメイン」で、ドメインを選択します。
    • 「別名」で、別名を選択します。
    • Extractトレイル名」に、トレイル・ファイルの名前を入力します。
    • パラメータ・ファイル・ページで、次を追加します。
      TABLE SRC_OCIGGLL.*;
  7. 次の値を使用して、「初期ロードExtractの追加および実行」:
    • Extractタイプで、Initial Load Extractを選択します。
    • 「プロセス名」に、名前を入力します。
    • パラメータ・ファイル・ページで、次を追加します。
      TABLE SRC_OCIGGLL.*;

タスク3: Initial Load ExtractDistribution Pathの作成

  1. 「デプロイメント」ページで、ターゲットAutonomous Databaseデプロイメントを選択します。
  2. 「デプロイメントの詳細」ページで、「コンソールの起動」をクリックし、管理ユーザーとしてログインします。
  3. IAM資格証明ストアを使用している場合は、「Distribution Pathの作成」ステップに進みます。GoldenGate資格証明ストアを使用する場合は、ソースGoldenGateがターゲットGoldenGateへの接続に使用するユーザーを作成します。
    1. ナビゲーション・メニューで、「ユーザー管理」をクリックします。
    2. 「新規ユーザーの追加」(プラス・アイコン)をクリックし、次のようにフィールドに入力して、「送信」をクリックします:
      • 「ユーザー名」に、ggsnetと入力します。
      • 「ロール」で、「演算子」を選択します。
      • 確認のためにパスワードを2回入力します。
  4. ソースのPostgreSQLデプロイメント・コンソールで、前のステップで作成されたユーザーのパス接続を作成します。
    1. ナビゲーション・メニューで、「パス接続」をクリックします。
    2. 「パス接続の追加」(プラス・アイコン)をクリックし、次のようにフィールドに入力して、「送信」をクリックします:
      • 「資格証明別名」に、dpuserと入力します。
      • 「ユーザーID」に、ggsnetと入力します
      • 「パスワード」に、前のステップで使用したものと同じパスワードを入力します。
  5. Distribution Pathを作成します。
    1. サービス・メニュー・バーで、Distribution Serviceをクリックし、Distribution Pathの追加」(プラス・アイコン)をクリックします。
    2. 「パスの追加」フォームに次のように入力します。
      • 「パス情報」ページで:
        1. 「パス名」に、このパスの名前を入力します。
        2. 「次へ」をクリックします
      • 「ソース・オプション」ページ:
        1. 「ソース」 Extractは、ブランクのままにします。
        2. 「トレイル名」には、Initial Load Extractトレイル名(I1)を入力します。
        3. 「次へ」をクリックします
      • 「ターゲット・オプション」ページ:
        1. 「ターゲット」で、「wss」を選択します。
        2. 「ターゲット・ホスト」に、ターゲット・デプロイメントのURLをhttps://または後続のスラッシュなしで入力します。
        3. 「ポート番号」に、443と入力します。
        4. 「Trail Name」に、I1と入力します。
        5. 「ターゲット認証方式」で、「ユーザーID別名」を選択します。
        6. 「ドメイン」に、前のステップで作成したドメイン名を入力します。
        7. 「別名」に、前のステップで作成された別名(dpuser)を入力します。
        8. 「次へ」をクリックします
    3. 「作成および実行」をクリックします。
    Distribution Serviceページに戻り、作成したパスを確認できます。
  6. Distribution Pathを確認します。
    1. Receiver Serviceをクリックします。
    2. Distribution Pathの詳細を確認します。

タスク4: Initial Load ExtractへのReplicatの追加

  1. ターゲットOCI GoldenGateデプロイメント・コンソールで、チェックポイント表を追加します。
    1. ナビゲーション・メニューを開き、「DB接続」をクリックします。
    2. 「データベースへの接続」 SourceATPをクリックします。
    3. ナビゲーション・メニューで「チェックポイント」をクリックします。
    4. 「チェックポイント」ページで、「チェックポイントの追加」(プラス・アイコン)をクリックします。
    5. 「チェックポイント表」に、SRCMIRROR_OCIGGLL.CHECKTABLEと入力します。
    6. 「送信」をクリックします。

      ヒント:

      送信時に画面はリフレッシュされません。チェックポイント表が追加されたことを確認するには、検索フィールドにSRCMIRROR_OCIGGLL.CHECKTABLEと入力し、「検索」をクリックします。
  2. Replicatを追加します:
    1. Administrator Serviceをクリックし、Replicatの追加」(プラス・アイコン)をクリックします。
    2. Replicatの追加ページで、次のフォーム・フィールドに入力し、「次」をクリックします。
      • Replicatタイプの場合、Nonintegrated Replicatを選択します。
      • 「プロセス名」に、名前(RILなど)を入力します。
    3. Replicatオプション・ページで、次のフォーム・フィールドを入力し、「次」をクリックします:
      • 「名前」に、タスク2からトレイルの名前(I1)を入力します。
      • 「ドメイン」で、Autonomous Database接続のドメインを選択します。
      • 「別名」で、Autonomous Database接続の別名を選択します。
      • 「チェックポイント表」で、ステップ1で作成したチェックポイント表を選択します。
    4. 「管理対象オプション」ページで、フィールドはそのままにして、「次」をクリックします。
    5. Replicat「パラメータ」ページで、次のマッピングを追加し、「作成および実行」をクリックします:
      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    「概要」ページに戻り、Replicatの詳細を確認できます。
  3. Replicat (RIL)を選択し、その詳細を表示します。
  4. 「統計」をクリックし、挿入の数を確認します。ページをリフレッシュします。
    • 挿入の数が変更されない場合、Initial Loadのすべてのレコードがロードされており、Replicat (RIL)を停止できます
    • 挿入の数が増加し続ける場合、初期ロードのレコードがすべてロードされるまでページをリフレッシュしてから続行してください。

タスク5: 初期ロードの確認

  1. Oracle Cloudコンソールで、Autonomous Data Warehouseデータベースの詳細ページから「データベース・アクション」を開きます。
  2. 「データベース・アクション」の「開発」で、「SQL」をクリックします。
  3. SQLツールで、次の各文をワークシートに入力し、「文の実行」をクリックします:
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
出力では、初期ロードの結果としてターゲット・データベース表にロードされたデータが返されます。

タスク6: Change Data Captureに対するDistribution Pathの作成

  1. ソース・デプロイメント・コンソールで、Distribution Serviceをクリックします。
  2. Distribution Pathの追加」をクリックします。
  3. 「パスの追加」フォームに次のように入力します。
    1. 「パス情報」ページで:
      1. 「パス名」に、名前を入力します。
      2. 「次へ」をクリックします
    2. 「ソース・オプション」ページ:
      1. 「ソース」 Extractで、Integrated Extract (ECDC))を選択します。
      2. 「トレイル名」で、Integrated Extractトレイル・ファイル(C1)を選択します。
      3. 「次へ」をクリックします
    3. 「ターゲット・オプション」ページ:
      1. 「ターゲット」で、「wss」を選択します。
      2. 「ターゲット・ホスト」に、ターゲット・デプロイメント・コンソールのURLを入力します(これは、デプロイメントの詳細ページでhttps://または後続のスラッシュなしで確認できます)。
      3. 「ポート番号」に、443と入力します。
      4. 「トレイル名」に、C1と入力します。
      5. 「ターゲット認証方式」で、「ユーザーID別名」を選択します。
      6. 「ドメイン」に、ドメイン名を入力します。
      7. 「別名」に、別名を入力します。
    4. 「パスの作成および実行」をクリックします。
  4. ターゲット・デプロイメント・コンソールで、Receiver Serviceをクリックし、作成されたReceiver pathを確認します。

タスク7: Change Data CaptureReplicatの追加

  1. Replicatに次の値を追加します。
    1. Replicatの「情報」ページで、次の手順を実行します。
      • Replicatタイプで、Coordinated Replicatを選択します。
      • 「プロセス名」に、名前(RCDCなど)を入力します。
    2. Replicatオプション・ページで、次の手順を実行します。
      • Replicatトレイル」に、タスク2からトレイルの名前(C1)を入力します。
      • 「ドメイン」で、Autonomous Database接続のドメインを選択します。
      • 「別名」に、資格証明別名を入力します。
      • 「チェックポイント表」で、作成したチェックポイント表を選択します。
    3. Replicat「パラメータ」ページで、次のマッピングを追加し、「作成および実行」をクリックします:
      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
  2. Administration Serviceの「概要」ページで、Initial LoadReplicat (RIL)を選択し、その詳細を表示します。
  3. 「統計」をクリックし、挿入の数を確認します。ページをリフレッシュします。
    • 挿入の数が変更されない場合、初期ロードのすべてのレコードがロードされており、Replicat (RIL)を停止できます
    • 挿入の数が増加し続ける場合、初期ロードのレコードがすべてロードされるまでページをリフレッシュしてから続行してください。
  4. 管理サービスの「概要」ページに戻り、Coordinated Replicat (RCDC)を起動します。
  5. Coordinated Replicatを起動した後、その詳細および統計を確認して、挿入の数を表示します。

タスク8: Change Data Captureの確認

OCIデータベースのソースHeatWaveの更新を実行して、Autonomous Data Warehouseへのレプリケーションを確認します。
  1. OCI Bastionで、MySQL IPおよびポート3306を使用してSSHポート転送セッションを作成します。公開SSHキーを追加します。
  2. 秘密キーおよびポート3306を使用して、クラウド・シェルでMySQLに接続します。
  3. 接続に成功したら、次のコマンドを実行します:
    mysqlsh admin@localhost:3306 --sql
  4. 次のスクリプトを実行して、OCIデータベースのHeatWaveへの挿入を実行します:
    use SRC_OCIGGLL;
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    commit;
  5. ソースMySQLデプロイメント・コンソールで、Change Data Capture Extract名を選択し、「統計」をクリックします。SRC_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。
    ノート

    Extractで挿入が取得されなかった場合は、Extractを再起動します。

タスク9: プロセスのモニターおよびメンテナンス