Amazon RDS for OracleからOracle Object Storageへのデータのレプリケート
Oracle Cloud Infrastructure GoldenGateを使用して、Amazon RDS for OracleからOracle Object Storageにデータをレプリケートする方法について学習します。
開始する前に
このクイックスタートを正常に完了するには、次が必要です:
-
Oracle Cloudアカウントへのサインアップまたはサインイン。
-
OracleインスタンスのソースAmazon RDS (環境設定を参照)。
環境設定: Amazon RDS for Oracle
Amazon RDS for Oracleインスタンスをプロビジョニングしてから、次のステップを使用して、Oracle GoldenGateで使用するソース・データベースを設定します。
-
ソース・データベースでサプリメンタル・ロギングを有効にします。
-
ENABLE_GOLDENGATE_REPLICATION初期化パラメータをtrueに設定します。 -
ソース・データベースでのアーカイブを有効にし、アーカイブREDOログを保持します。
-
ソース・データベースにOracle GoldenGateユーザー・アカウントを作成します。
-
ソース・データベースに対するユーザー・アカウント権限を付与します。
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); -
サンプル・データベース・スキーマをダウンロードして解凍します。
-
ソース・サンプル・スキーマおよびデータをロード:
-
SQL DeveloperからAmazon RDS for Oracleインスタンスにユーザー
SRC_OCIGGLLとして接続します。 -
OCIGGLL_OCIGGS_SETUP_USERS_ATP.sqlからスクリプトをコピーしてSQLワークシートに貼り付けます。 -
「スクリプトの実行」を選択します。「スクリプト出力」タブには、確認メッセージが表示されます。
-
SQLワークシートをクリアして、
OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sqlからSQLスクリプトをコピーして貼り付けます。ヒント: SQLツールがスクリプトを正常に実行するために、各文を個別に実行する必要がある場合があります。
-
表が正常に作成されたことを確認するには、SQLウィンドウを閉じて再度開きます。「ナビゲータ」タブで、
SRC_OCIGGLLスキーマを検索し、それぞれのドロップ・ダウン・リストから表を選択します。
-
タスク1: OCI GoldenGateリソースの作成
-
OracleインスタンスのソースAmazon RDSのOracleデプロイメントを作成します。
-
ビッグ・データ・デプロイメントの作成ターゲットOracle Object Storageバケット。
-
OracleインスタンスのソースAmazon RDSの接続を作成します。
-
ビッグ・データ・デプロイメントにパブリック・エンドポイントがない場合、GoldenGateへの接続を作成してから、この接続をソースOracleデプロイメントに割り当てます。
タスク2: Extractの追加および実行
-
「Deployments」ページで、ソースAmazon RDS for Oracleデプロイメントを選択します。
-
デプロイメントの詳細ページで、「コンソールの起動」を選択します。
-
ソース・デプロイメントの管理者のユーザー名とパスワードでログインします。
タスク3: 分散パスの追加および実行
-
GoldenGate資格証明ストアを使用する場合は、ターゲット・ビッグ・データ・デプロイメントで分散パスのユーザーを作成し、それ以外の場合はステップ3にスキップします。
-
ソースGoldenGateデプロイメント・コンソールで、ステップ1で作成したユーザーのパス接続を追加します。
-
ソースGoldenGateデプロイメント・コンソールで、左側のナビゲーションで「パス接続」を選択します。
-
「パス接続の追加」(プラス・アイコン)を選択し、次を完了します:
-
「資格証明別名」に、
GGSNetworkと入力します。 -
「ユーザーID」に、ステップ1で作成したユーザー名を入力します。
-
確認のためにユーザーのパスワードを2回入力します。
-
-
「送信」を選択します。
「パス接続」リストにパス接続が表示されます。
-
-
ソース・デプロイメント・コンソールで、次の値を含む分散パスを追加します:
-
「ソース・オプション」ページで、次の手順を実行します。
-
「ソースExtract」で、タスク2で作成したExtractを選択します。
-
「トレイル名」に、2文字の名前(
E1など)を入力します。
-
-
「ターゲット・オプション」ページで、次の手順を実行します。
-
「ターゲット・ホスト」に、ターゲット・デプロイメントのホスト・ドメインを入力します。
-
「ポート番号」に、
443と入力します。 -
「トレイル名」に、2文字の名前(
E1など)を入力します。 -
「別名」に、ステップ2で作成した資格証明別名を入力します。
-
-
-
ターゲット・ビッグ・データ・デプロイメント・コンソールで、分散パスの結果として作成された受信パスの確認を行います。
-
ターゲットのビッグ・データ・デプロイメント・コンソールで、「受信サービス」を選択します。
-
パスの詳細を確認します。このパスは、前のステップで作成した分散パスの結果として作成されました。
-
タスク4: Replicatの追加および実行
-
ターゲットのビッグ・データ・デプロイメント・コンソールのナビゲーション・メニューで、「Replicat」を選択します。
-
「Replicat」ページで、「Replicatの追加」(プラス・アイコン)を選択し、次のようにフォームに入力します。
-
「Replicat情報」ページで、次の手順を実行します。
-
「Replicatタイプ」で、「クラシックReplicat」を選択します。
-
「プロセス名」に、名前(
REP)を入力します
-
-
「Replicatオプション」ページで、次の手順を実行します。
-
「Replicatトレイル名」に、2文字の名前(
E1など)を入力します。 -
「ターゲット」で、「Oracle Object Storage」を選択します
-
-
「パラメータ・ファイル」ページで、
MAP *.*, TARGET *.*;を次のように置き換えます。MAP SRC_OCIGGLL.*, TARGET *.*; -
「プロパティ・ファイル」ページで、必要に応じてOCIイベント・ハンドラ・プロパティを構成します。
必須プロパティ:
-
gg.eventhandler.oci.compartmentID: Oracleオブジェクト・ストレージ・バケットが存在するコンパートメントのOCID。 -
gg.handler.oci.fileNameMappingTemplate: テンプレート・キーワードを使用してファイル名を動的に生成します。
変更を検討できるプロパティ:
-
gg.handler.oci.format: 出力のフォーマット方法を選択します。json_rowがデフォルト設定です。使用可能なオプションには次が含まれます:-
ヒント: Oracleオブジェクト・ストレージのフォーマット・プロパティを使用するには、
nameをociに置き換えます。たとえば、gg.handler.name.formatは、gg.handler.oci.formatになります。
-
gg.handler.oci.inactivityRollInterval: GoldenGateはファイルを作成し、書込み用に開いたままにします。このプロパティは、指定された非アクティブ期間(受信トランザクションなし)の後にファイルを閉じ、それをOracleオブジェクト・ストレージにロードします。デフォルトでは、これは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: Oracle Object Storageバケット名を入力します。
-
-
「作成および実行」を選択します。
-
タスク5: レプリケーションの確認
ソースAmazon RDS for Oracleインスタンスに対するいくつかの更新を実行して、Oracle Object Storageへのレプリケーションを確認します。
-
SQL DeveloperからAmazon RDS for Oracleインスタンスにユーザー
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); -
ソースGoldenGateのOCI GoldenGateデプロイメント・コンソールで、Extract名を選択し、「統計」を選択します。SRC_OCIGGLL.SRC_CITYに10の挿入があることを確認します。
-
ターゲット・ビッグ・データOCI GoldenGateデプロイメント・コンソールで、Replicat名を選択し、「統計」を選択します。SRC_OCIGGLL.SRC_CITYに10の挿入があることを確認します。