OCI上のHeatWaveからAmazon Kinesisへのデータのレプリケート

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

開始する前に

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

環境設定: 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のイングレス・ルールを作成します。

タスク2: Extractの作成

  1. 「デプロイメント」ページで、タスク1で作成したMySQLデプロイメントを選択します。
  2. 「デプロイメントの詳細」ページで、「コンソールの起動」をクリックします。
  3. タスク1でデプロイメントを作成したときに指定した管理者資格証明を使用して、ソースMySQLデプロイメント・コンソールにサインインします。
  4. Change Data Capture Extractに次の値を追加します。
    • Extract: Change Data Capture Extract
    • プロセス名: ECDC
    • Extract Trail: C1
    • パラメータ・ファイル: MAP *.*, TARGET *.*;TABLE SRC_OCIGGLL.*;に置き換えます

タスク3: ビッグ・データ・デプロイメントをターゲットとするDistribution Pathの作成

  1. IAM資格証明ストアを使用している場合は、ステップ3に進みます。GoldenGate資格証明ストアを使用する場合は、ソースGoldenGateがターゲットGoldenGateへの接続に使用するユーザーを作成します。
    1. 「デプロイメント」ページで、ターゲット・ビッグ・データ・デプロイメントを選択します。
    2. 「デプロイメントの詳細」ページで、「コンソールの起動」をクリックし、管理ユーザーとしてログインします。
    3. デプロイメント・コンソールのナビゲーション・メニューで、「ユーザー管理」をクリックします。
    4. 「新規ユーザーの追加」(プラス・アイコン)をクリックし、次のようにフィールドに入力して、「送信」をクリックします:
      • 「ユーザー名」に、ggsnetと入力します。
      • 「ロール」で、「演算子」を選択します。
      • 確認のためにパスワードを2回入力します。
  2. ソースのMySQLデプロイメント・コンソールで、前述のステップで作成したユーザーのPath Connectionを作成します。
    1. ナビゲーション・メニューを開き、Path Connectionをクリックします。
    2. Path Connectionの追加」(プラス・アイコン)をクリックし、次のようにフィールドに入力して、「送信」をクリックします:
      • 「資格証明別名」に、dpuserと入力します
      • 「ユーザーID」に、ggsnetと入力します
      • 「パスワード」に、前のステップで使用されているものと同じパスワードを入力します。
  3. ソースのMySQLデプロイメント・コンソールで、次の値を使用してDistribution Pathを追加します:
    1. ソース・オプションページ:
      • 「ソースExtractで、タスク2で作成したExtractを選択します。
      • 「トレイル名」に、2文字の名前(C1など)を入力します
    2. ターゲット・オプションページ:
      • 「ターゲット・ホスト」に、ターゲット・デプロイメントのホスト・ドメインを入力します。
      • 「ポート番号」に、443と入力します。
      • 「トレイル名」に、2文字の名前(C1など)を入力します
      • 「別名」に、ステップ2で作成した資格証明別名を入力します。
  4. ターゲットOCI GoldenGateビッグ・データ・デプロイメント・コンソールで、Distribution Pathの結果として作成されたReceiver pathを確認します:
    1. Receiver Serviceをクリックします。
    2. Receiver pathの詳細を確認します。

タスク4: Amazon KinesisのReplicatの追加

  1. ビッグ・データ・デプロイメントで、Administration Serviceをクリックし、Replicatの追加(プラス・アイコン)」をクリックします。
  2. 次の値を使用して、Replicatを追加します。
    • Replicatタイプの場合は、Classic Replicatを選択します。
    • 「プロセス名」に、名前を入力します。
    • 「ターゲット・トレイル名」に、タスク2からトレイルの名前を入力します。
    • 「ターゲット」で、「Amazon Kinesis」を選択します。
    • 「Amazon Kinesisで使用可能な別名」で、ドロップダウンから別名を選択します。
    • 「プロパティ・ファイル」ページで、#TODOとマークされたフィールドを編集します。
      • gg.handler.kinesis.region: ターゲットKinesisストリームのAmazon Web Services (AWS)リージョンを指定します。
      • gg.handler.kinesis.streamMappingTemplate: デフォルトでは、ソース表名に基づいてストリームをマップする${tableName}に設定されます。既存のデータ・ストリームにマップする場合は、静的ストリーム名を指定することも、「テンプレート・キーワード」を使用してストリーム名を動的に割り当てることもできます。

タスク5: OCI上のHeatWaveからAmazon Kinesisへのデータ・レプリケーションの検証

OCIデータベースのソースHeatWaveの更新を実行して、Amazon Kinesisへのレプリケーションを確認します。
  1. OCI Bastionで、MySQL IPおよびport 3306を使用してSSHポート転送セッションを作成します。公開SSHキーを追加します。
  2. 秘密キーおよびport 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名(CDCEXT)を選択し、「統計」をクリックします。SRC_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。
  6. ターゲット・ビッグ・データ・デプロイメント・コンソールで、Replicat名を選択し、「統計」をクリックします。SRC_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。
  7. Amazon Kinesisでは、ターゲット データ ストリーム/データ ビューアのメッセージを確認できます。