Oracle用のAmazon RDSからOCIオブジェクト・ストレージへのデータのレプリケート

Oracle Cloud Infrastructure GoldenGateを使用して、Amazon RDS for OracleからOCI Object Storageにデータをレプリケートする方法について学習します。

開始する前に

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

  • Oracle Cloudアカウントにサインアップまたはサインインします。
  • ソースAmazon RDS for Oracleインスタンス(環境設定を参照)。

環境設定: Amazon RDS for Oracle

Amazon RDS for Oracleインスタンスをプロビジョニングしてから、次のステップを使用して、Oracle GoldenGateで使用するソース・データベースを設定します。

  1. ソース・データベースでサプリメント・ロギングをオンにします。
  2. ENABLE_GOLDENGATE_REPLICATION初期化パラメータをtrueに設定します。
  3. ソース・データベースでのアーカイブを有効にし、アーカイブREDOログを保持します。
  4. ソース・データベースでOracle GoldenGateユーザー・アカウントを作成します。
  5. ソース・データベースに対するユーザー・アカウント権限を付与します。
    GRANT CREATE SESSION, ALTER SESSION TO GGADMIN;
    GRANT RESOURCE TO GGADMIN;
    GRANT SELECT ANY DICTIONARY TO GGADMIN;
    GRANT FLASHBACK ANY TABLE TO GGADMIN;
    GRANT SELECT ANY TABLE TO GGADMIN;
    GRANT EXECUTE ON DBMS_FLASHBACK TO GGADMIN;
    GRANT SELECT ON SYS.V_$DATABASE TO GGADMIN;
    GRANT ALTER ANY TABLE TO GGADMIN;
    EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
    grantee                 => 'GGADMIN',
    privilege_type          => 'capture',
    grant_select_privileges => true,
    do_grants               => TRUE);
    
  6. サンプル・データベース・スキーマをダウンロードして解凍します。
  7. ソース・サンプル・スキーマおよびデータをロードします:
    1. ユーザーSRC_OCIGGLLとしてSQL DeveloperからAmazon RDS for Oracleインスタンスに接続します。
    2. OCIGGLL_OCIGGS_SETUP_USERS_ATP.sqlからスクリプトをコピーしてSQLワークシートに貼り付けます。
    3. 「スクリプトの実行」をクリックします。「スクリプト出力」タブに確認メッセージが表示されます。
    4. SQLワークシートをクリアし、OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sqlからSQLスクリプトをコピーして貼り付けます。

      ヒント :

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

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

  1. ソースAmazon RDS for OracleインスタンスのOracleデプロイメントを作成します
  2. ビッグ・データ・デプロイメント・ターゲットOCIオブジェクト・ストレージ・バケットを作成します。
  3. OracleインスタンスのソースAmazon RDSの接続を作成します。
  4. ターゲットOCIオブジェクト・ストレージの接続を作成します
  5. ビッグ・データ・デプロイメントにパブリック・エンドポイントがない場合は、GoldenGateへの接続を作成し、ソースOracleデプロイメントにこの接続を割り当てます。
  6. Amazon RDS for Oracle接続をソースOracleデプロイメントに割り当てます
  7. ターゲット・ビッグ・データ・デプロイメントにOCIオブジェクト・ストレージ接続を割り当てます
  8. GoldenGate接続をソースOracleデプロイメントに割り当てます

タスク2: Extractの追加および実行

  1. 「デプロイメント」ページで、OracleデプロイメントのソースAmazon RDSを選択します。
  2. 「デプロイメントの詳細」ページで、「コンソールの起動」をクリックします。
  3. ソース・デプロイメントの管理者のユーザー名とパスワードでログインします。
  4. トランザクション情報を追加します
  5. Extractを追加します

タスク3: Distribution Pathの追加および実行

  1. GoldenGate資格証明ストアを使用している場合は、ターゲット・ビッグ・データ・デプロイメントで分散パスのユーザーを作成します。それ以外の場合は、ステップ3にスキップします。
  2. ソースATP GoldenGateデプロイメント・コンソールで、ステップ1で作成したユーザーのパス接続を追加します。
    1. ソースATPのGoldenGateデプロイメント・コンソールで、左側のナビゲーションの「パス接続」をクリックします。
    2. 「パス接続の追加」(プラス・アイコン)をクリックし、次を完了します:
      1. 「資格証明別名」には、GGSNetworkを入力します。
      2. 「ユーザーID」には、ステップ1で作成したユーザーの名前を入力します。
      3. 確認のためにユーザーのパスワードを2回入力します。
    3. 「送信」をクリックします。

      「パス接続」リストにパス接続が表示されます。

  3. ソースATPデプロイメント・コンソールで、次の値を使用して分散パスを追加します:
    1. ソース・オプションページ:
      • 「ソースExtract」で、タスク2で作成したExtractを選択します。
      • 「トレイル名」に、2文字の名前(E1など)を入力します。
    2. 「ターゲット・オプション」ページ:
      • 「ターゲット・ホスト」に、ターゲット・デプロイメントのホスト・ドメインを入力します。
      • 「ポート番号」に、443と入力します。
      • 「トレイル名」に、2文字の名前(E1など)を入力します。
      • 「別名」に、ステップ2で作成した資格証明別名を入力します。
  4. ターゲット・ビッグ・データ・デプロイメント・コンソールで、Distribution Pathの結果として作成されたReceiver Pathを確認します。
    1. ターゲット・ビッグ・データ・デプロイメント・コンソールで、Receiver Serviceをクリックします。
    2. パスの詳細を確認します。このパスは、前述のステップで作成したDistribution Pathの結果として作成されました。

タスク4: Replicatの追加および実行

  1. ターゲット・ビッグ・データ・デプロイメント・コンソールのナビゲーション・メニューで、Replicatsをクリックします。
  2. Replicatsページで、Replicatの追加」(プラス・アイコン)をクリックし、次のようにフォームに入力します。
    1. Replicatの「情報」ページで、次の手順を実行します。
      1. Replicat Typeで、「Classic Replicatを選択します。
      2. 「プロセス名」に、名前(REPなど)を入力します
    2. Replicatオプション・ページで、次の手順を実行します。
      1. Replicatトレイル名」に、2文字の名前(E1など)を入力します。
      2. 「ターゲット」で、「OCIオブジェクト・ストレージ」を選択します
    3. 「パラメータ・ファイル」ページで、MAP *.*, TARGET *.*;を:
      MAP SRC_OCIGGLL.*, TARGET *.*;
    4. 「プロパティ・ファイル」ページで、必要に応じてOCIイベント・ハンドラ・プロパティを構成します。
      必須プロパティ:
      • gg.eventhandler.oci.compartmentID: OCIオブジェクト・ストレージ・バケットが存在するコンパートメントのOCID。
      • gg.handler.oci.fileNameMappingTemplate: テンプレート・キーワードを使用してファイル名を動的に生成します。
      変更を検討できるプロパティ:
      • gg.handler.oci.format: 出力のフォーマット方法を選択します。json_rowがデフォルト設定です。使用可能なオプションには次が含まれます:

        ヒント :

        OCIオブジェクト・ストレージのフォーマット・プロパティを使用するには、nameociに置き換えます。たとえば、gg.handler.name.formatは、gg.handler.oci.formatになります。
      • gg.handler.oci.inactivityRollInterval: GoldenGateはファイルを作成し、書込み用に開いたままにします。このプロパティは、指定された非アクティブ期間(受信トランザクションなし)の後にファイルを閉じ、それをOCIオブジェクト・ストレージにロードします。デフォルトでは、これは5秒に設定されます。時間は、ミリ秒(ms)、秒(s)、分(m)または時間(h)で指定できます。たとえば、gg.handler.oci.inactivityRollInterval=10mです。
      • gg.handler.oci.maxFileSize: ファイル・ライター・ハンドラは、ファイルを開き、最大ファイル・サイズに達するまで開いたままにします(メタデータの変更がない場合)。デフォルトでは、最大ファイル・サイズは1GBですが、このプロパティを使用して変更できます。サイズに達するとファイルは閉じられ、新しいファイルが生成されます。たとえば、gg.handler.oci.maxFileSize=500mです。
      • gg.handler.oci.rollOnShutdown: デフォルト値はtrueです。trueに設定した場合、Replicatプロセスを停止すると、GoldenGateによって開いているファイルが閉じられます。デフォルトでは、ファイル・ライター・ハンドラは、Replicatが停止してもファイルを開いたままにし、Replicatの再起動時に同じファイルへの書込みを続行します。たとえば、gg.handler.oci.rollOnShutdown=falseです
      • gg.handler.oci.fileRollInterval: ファイルを閉じて新しいファイルにロールオーバーするまでにファイルを開いたままにしておく時間を指定します。デフォルトでは、これは7分に設定されます。時間は、ミリ秒(ms)、秒(s)、分(m)または時間(h)で指定できます。たとえば、gg.handler.oci.fileRollInterval=10mです。
      • gg.eventhandler.oci.bucketMappingTemplate: オブジェクト・ストレージ・バケット名を入力します。
    5. 「作成および実行」をクリックします。

タスク5: レプリケーションの確認

ソースAmazon RDS for Oracleインスタンスの更新をいくつか実行して、OCI Object Storageへのレプリケーションを確認します。
  1. ユーザーSRC_OCIGGLLとしてSQL DeveloperからAmazon RDS for Oracleインスタンスに接続します。
  2. ワークシートに次を入力し、「スクリプトの実行」をクリックします。
    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);
  3. ソースGoldenGateのOCI GoldenGateデプロイメント・コンソールで、Extract名を選択し、「統計」をクリックします。SRC_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。
  4. ターゲット・ビッグ・データのOCI GoldenGateデプロイメント・コンソールで、Replicat名を選択し、「統計」をクリックします。SRC_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。

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

  1. パフォーマンスをモニターします
  2. トレイル・ファイルを管理します