ノート:

Oracle GoldenGateおよびOracle GoldenGate for Big Dataと異なるターゲットを使用したデータのストリーミング

イントロダクション

Oracle GoldenGateは、データエンジニアが1つ以上のデータ管理システムからOracle Cloudデータベースにリアルタイムで大規模にデータを移動できるフルマネージド・サービスです。コンピュート環境の割当てや管理を行わずに、データ・レプリケーション・タスクを1つのインタフェースで設計、実行、調整およびモニターします。

Oracle GoldenGate for Big Dataは、ソース・システムのパフォーマンスに影響を与えることなく、トランザクション・データをビッグ・データおよびクラウド・システムにリアルタイムでストリーミングします。Apache Hadoop、Apache HBase、Apache Hive、Confluent Kafka、NoSQL Databases、Elasticsearch、JDBC、Oracle Cloud、Amazon Web Services、Microsoft Azure Cloud、Google Cloud Platform、データ・ウェアハウスなどの最も一般的なビッグ・データ・ソリューションへのリアルタイム・データ配信を合理化し、改善されたインサイトとタイムリーなアクションを促進します。

Oracle Cloud Infrastructure (OCI) Streamingサービスは、大量のデータ・ストリームをリアルタイムで取り込んで消費するためのフルマネージド型のスケーラブルな耐久性のあるソリューションを提供します。パブリッシュ/サブスクライブ・メッセージング・モデルでデータが連続して順次生成および処理されるユースケースには、OCIストリーミングを使用します。

このチュートリアルでは、Oracle Autonomous Databaseから2つの異なるターゲット(Oracle Autonomous DatabaseおよびOracle Streamsトピック)にデータをストリーミングする方法について学習します。

目標

アーキテクチャ

アーキテクチャ

重要: このサンプル・アーキテクチャは、学習のみを目的としており、単純な状態に保つために、PUBLICサブネットを使用しています。つまり、これは本番環境または実際のデータ処理に使用しないでください

本番環境では、プライベート・サブネットを使用し、Oracle Securityのベスト・プラクティスで説明されているセキュリティ・ベスト・プラクティスをすべて適用する必要があります)

前提条件

タスク1: 新規コンパートメントの作成

タスク2: sourceDBという名前の新しいOracle Autonomous Databaseの作成

  1. 左上のナビゲーション・メニューをクリックし、「Oracle Database」を選択して、「Autonomous Database」をクリックします。

  2. 前のステップで作成したコンパートメント・ストリーミングを選択し、「Autonomous Databaseの作成」をクリックします。

    T2_1

  3. 次のイメージに示すように情報を入力します。

    T2_2

    T2_3

    T2_4

ノート: 作成したADMINパスワードをノートにとります。

タスク3: targetDBという名前の新しいOracle Autonomous Databaseの作成

  1. 左上のナビゲーション・メニューをクリックし、「Oracle Database」を選択して、「Autonomous Database」をクリックします。

  2. 前のステップのストリーミングで作成したコンパートメントを選択し、「Autonomous Databaseの作成」をクリックします。

    T2_1

  3. 次のイメージに示すように情報を入力します。

    T3_2

    T2_3

    T2_4

ノート: 作成したADMINパスワードをノートにとります。

タスク4: sourceDBの新規スキーマおよび設定の作成

  1. sourceDBホーム・ページに移動し、「データベース・アクション」をクリックして、データベースでSQLコマンドを実行し、データをロードします。

    T4_1

  2. findata_schema.SQLファイルをダウンロードし、その内容をSQL実行ウィンドウにコピーして、SCRIPTとして実行します。

    ノート: FINDATAユーザーのパスワードを設定したことを確認し、このチュートリアルの後半のステップについてノートを取ってください。

    T4_1

  3. enable_gg.SQLファイルをダウンロードし、その内容をSQL実行ウィンドウにコピーして、SCRIPTとして実行します。

    ノート: GGADMINユーザーのパスワードを設定したことを確認し、このチュートリアルの後半のステップについてノートを取ってください。

    T4_1

タスク5: banks_export.sqlファイルからsourceDBへのデータのロード

  1. sourceDBホーム・ページに移動し、「データベース・アクション」をクリックして、データベースでSQLコマンドを実行し、データをロードします。

    T4_1

  2. banks_export.SQLファイルをダウンロードし、その内容をSQL実行ウィンドウにコピーして、SCRIPTとして実行します。

    T5_1

  3. 表に対して単純なCOUNTを実行し、挿入された行数を確認します。

    T5_1

タスク6: targetDBの新規スキーマの作成およびデータのロード

タスク7: sourceDBでのOPERACOESというトランザクション表の作成

  1. FINDATA.OPERACOESという名前の新しい表をsourceDBにのみ作成します。この表は、Oracle GoldenGate for Big DataがOCIストリーミングのトピックを取得して投稿するソース・データです。

  2. sourceDBホーム・ページに移動し、「データベース・アクション」をクリックして、データベースでSQLコマンドを実行し、データをロードします。

    T4_1

  3. operacoes_table.SQLファイルをダウンロードし、その内容をSQL実行ウィンドウにコピーして、SCRIPTとして実行します。

T7_1

これは、Oracle GoldenGateでイベントを開始するためのランダム・データを受信する空の表です。

タスク8: OCIストリーミング・プールの作成

  1. 左上のナビゲーション・メニューをクリックし、「分析およびAI」を選択して「ストリーミング」をクリックし、「ストリーミング・プール」を選択します。

  2. 「ストリーム・プールの作成」をクリックし、次の情報を入力します。

    T8_1

    T8_1

  3. 「作成」をクリックします。

  4. 「Kafka接続設定」をクリックし、接続文字列に関する情報を確認します。

    T8_1

タスク9: OCIストリーミング・プールにアクセスするためのAUTH TOKENの生成

Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)上のユーザーに関連付けられた認証トークンを使用して、Oracle CloudのOCIストリーミング(Kafka API)およびその他のリソースにアクセスできます。Kafka接続設定では、SASL接続文字列には、前のタスクで説明したパスワードおよびAUTH_TOKEN値というパラメータがあります。OCIストリーミングへのアクセスを有効にするには、OCIコンソールに移動し、AUTH TOKENを作成します。

  1. 左上のナビゲーション・メニューをクリックし、「アイデンティティとセキュリティ」「アイデンティティ」「ドメイン」「デフォルト・ドメイン」「ユーザー」の順に選択します。

  2. Oracle Autonomous DatabaseOCI Stream Poolなどの以前のリソースの作成に使用したものと同じユーザーを選択します。

T9_1

T9_1

ノート: AUTH TOKENを書き留めてください。次のステップで必要になります。

タスク10: Oracle GoldenGate接続の作成

ソース・データベースおよびターゲット・データベースに接続するには、Oracle GoldenGateに適切な接続設定が必要です。

  1. 左上のナビゲーション・メニューをクリックし、「Oracle Database」を選択して、GoldenGateをクリックします。

  2. 左側のメニューからオプション「接続」を選択し、「接続の作成」をクリックします。

  3. sourceDBの接続を作成します。

    T9_1

    T9_1

  4. このプロセスを繰り返して、targetDBの接続を作成します。

    T9_1

    T9_1

  5. OCIストリーミング・プールDefaultPoolの接続を作成します。

    T9_1

    T9_1

この時点で、次の接続が必要です。

T10_1

タスク11: Oracle GoldenGateデプロイメントの作成- タイプ: ORACLE

  1. 左上のナビゲーション・メニューをクリックし、「Oracle Database」を選択して、GoldenGateをクリックします。

  2. 左側のメニューからオプション「デプロイメント」を選択し、「デプロイメントの作成」をクリックします。

    T10_1

    T10_1

ノート: oggadminパスワードは必ず保存してください。

タスク12: Oracle GoldenGateデプロイメントの作成- タイプ: BIGDATA

  1. 左上のナビゲーション・メニューをクリックし、「Oracle Database」を選択して、GoldenGateをクリックします。

  2. 左側のメニューからオプション「デプロイメント」を選択し、「デプロイメントの作成」をクリックします。

    T12_1

    T12_1

    T12_1

  3. デプロイメントが作成され、アクティブになったら、次のステップに進みます。

    T12_1

タスク13: Oracle GoldenGateデプロイメント間の接続の作成

Oracle GoldenGateがOracle GoldenGate for Big Dataと通信するには、接続を作成する必要があります。

  1. 左上のナビゲーション・メニューをクリックし、「Oracle Database」を選択して、GoldenGateをクリックします。

  2. 左側のメニューからオプション「接続」を選択し、「接続の作成」をクリックします。

    T13_1

    T13_1

接続は次のようになります。

T13_1

タスク14: Oracle GoldenGateデプロイメントへの接続の追加- GGForOracle

  1. GGForOracleデプロイメントを選択し、左側のメニューで「割当て済接続」をクリックし、「接続の割当て」をクリックします。

    T14_1

  2. sourceDBの接続を追加します。

    T14_1

  3. targetDBの接続を追加します。

    T14_1

  4. GGOracletoGGBigDataの接続を追加します。

    T14_1

GGForOracleデプロイメントでは、次の接続が必要です:

T14_1

タスク15: Oracle GoldenGateデプロイメントへの接続の追加- GGforBigData

  1. GGforBigDataデプロイメントを選択し、左側のメニューで「割当て済接続」をクリックし、「接続の割当て」をクリックします。

    T15_1

    T15_1

GGforBigDataデプロイメントでは、次の接続が必要です:

T15_1

タスク16: GGforOracleのOracle GoldenGateの設定

  1. GGForOracleデプロイメントを選択し、「コンソールの起動」をクリックします。

  2. 資格証明oggadmin/yourpassword (デプロイメントの作成時に作成したパスワード)を入力します。

    T16_1

  3. ナビゲーション・メニューをクリックし、「構成」を選択し、「+」をクリックして新しい資格証明を追加します。

    T16_1

  4. GGforBigDataデプロイメントの資格証明を追加します。

    ノート: デプロイメントの作成時に設定したoggadminを使用します。

    T16_1

  5. クリックしてsourceDBに接続し、「TRANDATA」「+」をクリックしてレプリケーションに必要な表を追加します。

    T16_1

  6. FINDATA.BANKS表に新しいレコードを追加し、「送信」をクリックします。

    T16_1

  7. FINDATA.OPERACOES表に新しいレコードを追加し、「送信」をクリックします。

    T16_1

  8. 表が追加されたかどうかを確認するには、FINDATA.*のフィルタをクリックします。

    T16_1

  9. クリックしてtargetDBに接続し、CHECKPOINT「+」をクリックします。

    T16_1

    T16_1

  10. FINDATA.CHECKTABLEと入力し、「送信」をクリックします。

    T16_1

  11. 次に、左側のメニューの「概要」オプションをクリックして、新しい抽出を含めます。

    T16_1

    T16_1

    T16_1

    T16_1

    • 次のパラメータを含める:

      EXTRACT EXT
      USERIDALIAS sourceDB DOMAIN OracleGoldenGate
      EXTTRAIL E1
      table FINDATA.operacoes;
      table FINDATA.banks;
      
      
  12. 「処理」「開始」をクリックして抽出を開始します。

    T16_1

  13. ここで、レプリケーションをtargetDBに適用する新しいreplicatを作成します。

    T16_1

    T16_1

    T16_1

    • 次のパラメータを含める:

      REPLICAT REP
      USERIDALIAS targetDB DOMAIN OracleGoldenGate
      MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
      

    ノート: ここでレプリケートされるのはFINDATA.BANKS表のみです。これは、targetDBにレプリケートしているためです。もう1つの表FINDATA.OPERACOESは、このチュートリアルの後半でOCIストリーミングのトピックにレプリケートされます。

  14. 「アクション」「起動」をクリックして、Replicatを起動します。

    T16_1

    T16_1

  15. レプリケーションがFINDATA.BANKS表で機能しているかどうかを確認します。sourceDBのデータベース・アクション・ページに移動し、新しいレコードを挿入します。

    INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG');
    COMMIT;
    

    T16_1

  16. targetDBのデータベース・アクション・ページを開き、次の問合せを実行して、レコードが作成されたかどうかを確認します。

     select * from FINDATA.BANKS WHERE ID_SEQ = 999;
    
    

    T16_1

  17. 「分散サービス」タブをクリックし、データをGGforBigDataに送信する新しいパスを追加します。

    T16_1

    T16_1

    T16_1

  18. 「アクション」「開始」の順にクリックして、サービス分散を開始します。

    T16_1

    T16_1

タスク17: Oracle GoldenGate for Big Dataの設定- GGforBigData

  1. GGforBigDataデプロイメントを選択し、「コンソールの起動」をクリックします。

  2. 資格証明oggadmin/yourpassword (デプロイメントの作成時に作成したパスワード)を入力します。

    T17_1

  3. 「受信サービス」タブをクリックし、すでに機能しているかどうかを確認します。これは、両方のOracle GoldenGateデプロイメント間の接続に必要なすべての設定をすでに実行しているため、次のようになります。

    T17_2

  4. OCIストリーミングのトピックにデータを公開するには、REPLICATを設定する必要があります。

  5. 「管理サービス」タブをクリックします。

    T17_1

    T17_1

    T17_1

    • 次のパラメータを含める:

       REPLICAT STRM
       TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/STRM.properties
       MAP FINDATA.operacoes, TARGET FINDATA.operacoes , THREADRANGE(1-5);
      
      

      T17_1

    • この行に${tableName}を追加し、指定されたすべてのデフォルト値を使用します。

      T17_1

  6. 「アクション」「起動」をクリックして、Replicatを起動します。

    T17_1

    • ステータスが緑色かどうかを確認します。

      T17_1

タスク18: OCIストリーミング・トピックへのレプリケーションの確認

  1. sourceDBのデータベース・アクション・ページに移動し、FINDATA.OPERACOES表に行を挿入します。

    • load_random_data.sqlスクリプトを使用して、FINDATA.OPERACOES表にランダム・データを挿入できます。

    • このスクリプトは、FINDATA.OPERACOESに1.000行を追加し、レプリケーションが期待どおりに動作しているかどうかを確認するのに十分です。

      T17_1

  2. 次のSQLコマンドを実行して、FINDATA.OPERACOESにレコードがあるかどうかを確認します。

    SELECT COUNT(*) FROM FINDATA.OPERACOES;
    

    T17_1

  3. 左上のナビゲーション・メニューをクリックし、「分析およびAI」を選択して「ストリーミング」をクリックし、左側のメニューから「ストリーム」を選択します。

  4. Oracle GoldenGate for Big Dataによって新しいTOPICが自動的に作成されているかどうかを確認します。

    T17_1

  5. 一部のメッセージを消費し、「メッセージのロード」をクリックしてトピックで使用可能かどうかを確認してください。

    T17_1

重要なノート: 「メッセージのロード」は、最後のMINUTEで消費されたメッセージに対してのみ機能します。これは、LOAD_RANDOM_DATA.SQLスクリプトの実行後にそれより時間がかかる場合、結果が表示されないことを意味します。

結果を表示するには、データベースに移動してLOAD_RANDOM_DATA.SQLスクリプトを再度実行し、「メッセージのロード」に戻ると、メッセージが表示されます。

承認

その他の学習リソース

docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。