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

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

開始する前に

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

環境設定: 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 AI Lakehouseインスタンスでスクリプトを実行してスキーマおよび表を作成します。Autonomous AI Lakehouseのデータベース・アクションSQLツールを使用して、スクリプトを実行できます:

    1. Oracle Cloudコンソールで、Autonomous AI Lakehouseデータベースの詳細ページを開き、「データベース・アクション」を選択します。

    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スキーマを検索し、それぞれのドロップダウンから表を選択します。

タスク1: OCI GoldenGateリソースの作成

このクイックスタートの例では、ソースとターゲットの両方のデプロイメントおよび接続が必要です。

  1. OCIデータベース上のソースHeatWaveのデプロイメントを作成します。

  2. ターゲットAutonomous AI Lakehouseのデプロイメントを作成します

  3. OCIデータベースでソースHeatWaveへの接続を作成します

  4. ターゲットAutonomous AI Lakehouseの接続を作成します

  5. GoldenGateへの接続の作成から、この接続をソースMySQLデプロイメントに割り当てます

  6. ソースMySQLデプロイメントにソース接続を割り当てる

  7. ターゲットOracleデプロイメントにターゲット接続を割り当てる

タスク2: Extractの作成

  1. 「デプロイメント」ページで、タスク1で作成したMySQLデプロイメントを選択します。

  2. デプロイメントの詳細ページで、「コンソールの起動」を選択します。

  3. タスク1でデプロイメントを作成したときに指定した管理者資格証明を使用して、ソースMySQLデプロイメント・コンソールにサインインします。

  4. ナビゲーション・メニューで、「DB接続」を選択します。

  5. OCI接続のHeatWaveの資格証明を確認します。ドメインと別名をメモしておいてください。

  6. 次の値を指定してチェンジ・データ・キャプチャExtractを追加および実行します

    • 「抽出タイプ」で、「チェンジ・データ・キャプチャ」を選択します。

    • 「プロセス名」に、Extractプロセスの名前を入力します。

    • 「ドメイン」で、ドメインを選択します。

    • 「別名」で、別名を選択します。

    • 「トレイル名の抽出」に、トレイル・ファイルの名前を入力してください。

    • 「パラメータ・ファイル」ページで、次を追加します。

      TABLE SRC_OCIGGLL.*;
  7. 次の値を含む初期ロードExtractを追加および実行します:

    • 「抽出タイプ」で、「初期ロードExtract」を選択します。

    • 「プロセス名」に、名前を入力します。

    • 「パラメータ・ファイル」ページで、次を追加します。

      TABLE SRC_OCIGGLL.*;

タスク3: 初期ロードExtractの分散パスの作成

  1. 「デプロイメント」ページで、ターゲットAutonomous AI Databaseデプロイメントを選択します。

  2. デプロイメントの詳細ページで、「コンソールの起動」を選択し、管理ユーザーとしてログインします。

  3. IAM資格証明ストアを使用する場合は、「分散パスの作成」ステップに進みます。GoldenGate資格証明ストアを使用する場合は、ソースGoldenGateがターゲットGoldenGateへの接続に使用するユーザーを作成します。

    1. ナビゲーション・メニューで、「ユーザー管理」を選択します。

    2. 「新規ユーザーの追加」(プラス・アイコン)を選択し、次のようにフィールドに入力します。「送信」を選択します:

      • 「ユーザー名」に、ggsnetと入力します。

      • 「ロール」で、「演算子」を選択します。

      • 確認のためにパスワードを2回入力します。

  4. ソースMySQLデプロイメント・コンソールで、前のステップで作成したユーザーのパス接続を作成します。

    1. ナビゲータ・メニューで、「パス接続」を選択します。

    2. 「Add Path Connection」(プラス・アイコン)を選択し、次のようにフィールドに入力して「Submit」を選択します。

      • 「資格証明別名」に、dpuserと入力します。

      • 「ユーザーID」に、ggsnetと入力します

      • 「パスワード」に、前のステップで使用したものと同じパスワードを入力します。

  5. 分散パスの作成

    1. サービス・メニュー・バーで、「分散サービス」を選択し、「分散パスの追加」(プラス・アイコン)を選択します。

    2. 「パスの追加」フォームに次のように入力します。

      • 「パス情報」ページで、次の手順を実行します。

        1. 「パス名」に、このパスの名前を入力します。

        2. 「次へ」を選択します。

      • 「ソース・オプション」ページで、次の手順を実行します。

        1. 「ソース抽出」では、空白のままにします。

        2. 「トレイル名」に、初期ロードExtractのトレイル名(I1)を入力します。

        3. 「次へ」を選択します。

      • 「ターゲット・オプション」ページで、次の手順を実行します。

        1. 「ターゲット」で、「wss」を選択します。

        2. 「ターゲット・ホスト」に、ターゲット・デプロイメントのURLをhttps://または後続のスラッシュなしで入力します。

        3. 「ポート番号」に、443と入力します。

        4. 「トレイル名」に、I1と入力します。

        5. 「ターゲット認証方式」で、「ユーザーID別名」を選択します。

        6. 「ドメイン」に、前のステップで作成したドメイン名を入力します。

        7. 「別名」に、前のステップで作成した別名を入力します(dpuser)。

        8. 「次へ」を選択します。

    3. 「作成および実行」を選択します。

    「Distribution Service」ページに戻り、作成したパスを確認できます。

  6. 分散パスを確認します。

    1. 「受信サービス」を選択します。

    2. 分散パスの詳細を確認します。

タスク4: 初期ロードExtractのためのReplicatの追加

  1. ターゲットOCI GoldenGateデプロイメント・コンソールで、チェックポイント表を追加します。

    1. ナビゲーション・メニューを開き、「DB接続」を選択します。

    2. 「データベースへの接続」を選択します。

    3. ナビゲーション・メニューで、「チェックポイント」を選択します。

    4. 「チェックポイント」ページで、「チェックポイントの追加」(プラス・アイコン)を選択します。

    5. 「チェックポイント表」に、SRCMIRROR_OCIGGLL.CHECKTABLEと入力します。

    6. 「送信」を選択します。

      ヒント:送信時に画面はリフレッシュされません。チェックポイント表が追加されたことを確認するには、検索フィールドにSRCMIRROR_OCIGGLL.CHECKTABLEと入力し、「検索」を選択します。

  2. Replicatを追加します。

    1. 「Administrator Service」を選択し、「Add Replicat」(プラス・アイコン)を選択します。

    2. 「Replicatの追加」ページで、次のフォーム・フィールドに入力し、「次へ」を選択します。

      • Replicatタイプの場合は、「非統合Replicat」を選択します。

      • 「プロセス名」に、名前(RILなど)を入力します。

    3. 「Replicatオプション」ページで、次のフォーム・フィールドに入力します。「次」を選択します。

      • 「名前」に、タスク2からトレイルの名前(I1)を入力します。

      • 「ドメイン」で、Autonomous AI Database接続のドメインを選択します。

      • 「別名」で、Autonomous AI Database接続の別名を選択します。

      • 「チェックポイント表」で、ステップ1で作成したチェックポイント表を選択します。

    4. 「管理対象オプション」ページで、フィールドをそのままにして、「次へ」を選択します。

    5. 「Replicatパラメータ」ページで、次のマッピングを追加し、「作成および実行」を選択します:

      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;

    「概要」ページに戻り、Replicatの詳細を確認できます。

  3. Replicat (RIL)を選択し、その詳細を表示します。

  4. 「統計」を選択し、挿入の数を確認します。ページをリフレッシュします。

    • 挿入の数が変更されない場合、初期ロードのすべてのレコードがロードされており、Replicat (RIL)を停止できます

    • 挿入の数が増加し続ける場合、初期ロードのレコードがすべてロードされるまでページをリフレッシュしてから続行してください。

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

  1. Oracle Cloudコンソールで、Autonomous AI Lakehouseデータベースの詳細ページから「データベース・アクション」を開きます。

  2. 「データベース・アクション」の「開発」で、「SQL」を選択します。

  3. SQLツールで、次の各文をワークシートに入力し、「文の実行」を選択します:

    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

出力では、初期ロードの結果としてターゲット・データベース表にロードされたデータが返されます。

タスク6: 変更データ取得のための分散パスの作成

  1. ソース・デプロイメント・コンソールで、「分散サービス」を選択します。

  2. 「分散パスの追加」を選択します。

  3. 「パスの追加」フォームに次のように入力します。

    1. 「パス情報」ページで、次の手順を実行します。

      1. 「パス名」に、名前を入力します。

      2. 「次へ」を選択します。

    2. 「ソース・オプション」ページで、次の手順を実行します。

      1. 「ソースExtract」で、チェンジ・データ・キャプチャExtract (ECDC)を選択します。

      2. 「トレイル名」で、変更データ取得のトレイル・ファイル(C1)を選択します。

      3. 「次へ」を選択します。

    3. 「ターゲット・オプション」ページで、次の手順を実行します。

      1. 「ターゲット」で、「wss」を選択します。

      2. 「ターゲット・ホスト」に、ターゲット・デプロイメント・コンソールのURLを入力します(これは、デプロイメントの詳細ページでhttps://または後続のスラッシュなしで確認できます)。

      3. 「ポート番号」に、443と入力します。

      4. 「トレイル名」に、C1と入力します。

      5. 「ターゲット認証方式」で、「ユーザーID別名」を選択します。

      6. 「ドメイン」に、ドメイン名を入力します。

      7. 「別名」に、別名を入力してください。

    4. 「パスの作成」および「実行」を選択します。

  4. ターゲット・デプロイメント・コンソールで、「レシーバ・サービス」を選択し、作成された受信パスを確認します。

タスク7: 変更データ取得のためのReplicatの追加

  1. 次の値でReplicatを追加します。

    1. 「Replicat情報」ページで、次の手順を実行します。

      • 「Replicatタイプ」で、「調整Replicat」を選択します。

      • 「プロセス名」に、名前(RCDCなど)を入力します。

    2. 「Replicatオプション」ページで、次の手順を実行します。

      • 「Replicatトレイル」に、タスク2からトレイルの名前(C1)を入力します。

      • 「ドメイン」で、Autonomous AI Database接続のドメインを選択します。

      • 「別名」に、資格証明別名を入力します。

      • 「チェックポイント表」で、作成したチェックポイント表を選択します。

    3. 「Replicatパラメータ」ページで、次のマッピングを追加し、「作成および実行」を選択します:

      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
  2. 管理サービスの「概要」ページで、初期ロード用のReplicat (RIL)を選択し、その詳細を表示します。

  3. 「統計」を選択し、挿入の数を確認します。ページをリフレッシュします。

    • 挿入の数が変更されない場合、初期ロードのすべてのレコードがロードされており、Replicat (RIL)を停止できます

    • 挿入の数が増加し続ける場合、初期ロードのレコードがすべてロードされるまでページをリフレッシュしてから続行してください。

  4. 管理サービスの「概要」ページに戻り、調整Replicat (RCDC)を起動します。

  5. 調整Replicatを起動した後、その詳細および統計を確認して、挿入の数を表示します。

タスク8: 変更データ取得の確認

OCIデータベースのソースHeatWaveの更新を実行して、Autonomous AI Lakehouseへのレプリケーションを確認します。

  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デプロイメント・コンソールで、変更データ取得Extract名を選択し、「統計」を選択します。SRC_OCIGGLL.SRC_CITYに10の挿入があることを確認します。

ノート: Extractで挿入が行われなかった場合は、Extractを再起動します。

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

  1. レプリケーションプロセスをモニターします

  2. トレイル・ファイルの管理