Oracle データベースから BigQuery へのデータの複製

このチュートリアルでは、Cloud Data Fusion Replication を使用して、変更されたデータを Oracle データベースから BigQuery データセットに継続的に複製するジョブをデプロイする方法を説明します。この機能は Datastream を利用しています。

省略可: Compute Engine に Oracle をインストールする

このセクションでは、データベースの例を設定する方法について説明します。Oracle データベースがすでにインストールされている場合は、このセクションをスキップできます。

  1. Oracle Server Docker イメージをダウンロードします。

    この Oracle Express Edition 11g イメージの制限については、Oracle Database のエディションをご覧ください。

  2. 新しい VM インスタンスに Docker イメージをデプロイします。

  3. Compute Engine の [ディスク] ページで、ディスクサイズを 500 GB に変更して、VM を再起動します。

    [ディスク] に移動

  4. HR サンプル スキーマをインストールします。

Oracle サーバー用の VPC ネットワーク ピアリングまたはファイアウォール ルールを作成する

Oracle データベースでパブリック IP アドレスからの上り(内向き)トラフィックが許可されていない場合は、Datastream VPC と Oracle データベースにアクセスできる VPC の間に VPC ネットワーク ピアリングを設定します。詳細については、プライベート接続構成を作成するをご覧ください。

Oracle データベースでパブリック IP からの受信トラフィックが許可されている場合、VM インスタンスのファイアウォール ルールを作成して、Datastream のパブリック IP からの受信トラフィックを許可します。

追加ロギングを有効にするように Oracle サーバーを構成します。

手順に従ってソース Oracle データベースを構成します。

Cloud Data Fusion Replication ジョブを作成して実行する

ジョブを作成します

  1. Cloud Data Fusion ウェブ インターフェースで、[レプリケーション] をクリックします。

  2. [レプリケーション ジョブを作成する] をクリックします。

  3. [新しいレプリケーション ジョブの作成] ページで、レプリケーション ジョブの [名前] を指定し、[次へ] をクリックします。

  4. ソースを構成します。

    1. ソースとして [Oracle (by Datastream)] を選択します。

    2. Oracle サーバーで Datastream パブリック IP からの受信トラフィックを許可されている場合は、[接続方法] で [IP 許可リスト] を選択します。それ以外の場合は、プライベート接続名プライベート接続(VPC ピアリング)を選択し、Oracle サーバーの VPC ネットワーク ピアリングまたはファイアウォール ルールを作成するセクションで作成した VPC ピアリング名を入力します。

    3. [ホスト] に、読み取り元の Oracle サーバーのホスト名を入力します。

    4. [ポート] に、Oracle サーバーへの接続に使用するポートとして「1521」と入力します。

    5. [システム ID] に「xe」(Oracle サーバーのサンプル データベース名)と入力します。

    6. 認証情報セクションで、Oracle サーバーにアクセスするためのユーザー名とパスワードを入力します。

    7. 他のプロパティはすべてそのままにします。

  5. [Next] をクリックします。

  6. ターゲットを構成します。

    1. BigQuery ターゲットを選択します。

    2. プロジェクト IDサービス アカウント キーが自動的に検出されます。デフォルト値のままにします。

    3. 省略可: [詳細] セクションで、次の構成を行うことができます。

      • ステージング バケットの名前と場所
      • 読み込み間隔
      • ステージング テーブルの接頭辞
      • テーブルまたはデータベースが削除されたときの動作
  7. [Next] をクリックします。

  8. 接続に成功すると、テーブルのリストが表示されます。このチュートリアルでは、いくつかのテーブルを選択します。

  9. [Next] をクリックします。

  10. [Review assessment ページ] でいずれかのテーブルの横にある [View mappings] をクリックすると、スキーマの問題、欠損している機能、接続性に関する、複製中に発生する可能性のある問題の評価を取得できます。

    問題が発生した場合は、続行する前に解決する必要があります。このチュートリアルでは、いずれかのテーブルに問題がある場合は、次の操作を行います。

    1. テーブルを選択した手順に戻ります。
    2. 問題のないテーブルまたはイベント(挿入、更新、削除)を選択します。

    ソース データベースから BigQuery へのデータタイプの変換の詳細については、レプリケーション データタイプをご覧ください。

  11. [Back] をクリックします。

  12. [Next] をクリックします。

  13. レプリケーション ジョブの詳細の概要を確認し、[レプリケーション ジョブをデプロイする] をクリックします。

ジョブを開始する

  1. Cloud Data Fusion ウェブ インターフェースで、レプリケーション ジョブの詳細ページに移動します。

  2. [開始] をクリックします。

レプリケーション ジョブは、プロビジョニング開始実行中の各状態に移行します。実行中の状態では、レプリケーション ジョブによって、選択したテーブルデータの初期スナップショットが BigQuery に読み込まれます。この状態では、テーブルの状態は [スナップショット] として表示されます。最初のスナップショットを BigQuery に読み込むと、テーブルに対する変更はすべて BigQuery に複製され、テーブルの状態は [Replicating] と表示されます。

ジョブをモニタリングする

レプリケーション ジョブの開始と停止、構成とログの確認、レプリケーション ジョブのモニタリングを行うことができます。

[レプリケーション ジョブの詳細] ページから、レプリケーション ジョブ アクティビティをモニタリングできます。

  1. [レプリケーション] ページで、選択したレプリケーション ジョブの [名前] をクリックします。

  2. [モニタリング] をクリックします。

BigQuery で結果を表示する

レプリケーション ジョブは、複製されたデータセットとテーブルを BigQuery に作成し、対応する Oracle データベースとテーブル名を継承します。

  1. Google Cloud コンソールで、[BigQuery] ページに移動します。

  2. 左側のパネルでプロジェクト名をクリックして、データセットのリストを展開します。

  3. xe データセットを選択して、表示するテーブルを選択します。

詳細については、BigQuery のドキュメントをご覧ください。