ノート:

Oracle Data Pumpを使用したOracle Database@Google Cloudへのデータの移行

イントロダクション

Oracle Database@Google Cloudは、Google Cloud環境でOracle Databaseワークロードを実行するOracle Cloud Databaseサービスです。Oracle Exadata Database ServiceやOracle Autonomous DatabaseなどのOracleの最高のデータベース・サービスに基づいて構築されたOracle Database 23ai AI Vector SearchやGoogle Vertex AIなどの機能を使用して、アプリケーションを迅速に開発および最新化できます。

ネイティブ統合により、Oracle Cloud Infrastructure (OCI) Exadataハードウェアで実行されているGoogle Cloudデータ・センターにOracleデータベース・サービスを最小限のレイテンシでデプロイできます。ワークロードはGoogle Cloudにあり、両方のサービスで使用されるExadataシステムはGoogle Cloudデータ・センターにデプロイされます。パフォーマンスとモニタリングのツール、開発者ツール、分析などを含むOracleとGoogle Cloudを最大限に活用できます。

Oracle Data Pumpは、ユーザーが管理するOracleデータベースとOracle Autonomous Database間のデータおよびメタデータの非常に高速な一括移動を提供します。

Oracle Data Pump Importを使用すると、OCI Object Storageに存在するOracle Data Pumpファイルからデータをインポートできます。データをGoogle Cloud Storageバケットに保存し、Oracle Data Pumpを使用してOracle Autonomous Databaseにデータをロードできます。

このチュートリアルでは、Oracle Data Pump Importを使用してOracle Database@Google Cloudにサンプル・アプリケーション・スキーマを移行するステップについて説明します。

目的

データベース管理者またはユーザーとして:

前提条件

タスク1: ユーザー・アカウントのアクセス・キーの生成

  1. Google Cloudコンソールにログインし、「クラウド・ストレージ」に移動して「設定」をクリックします。

    クラウド・ストレージ設定

  2. 「設定」ページで、「INTEROPERABILITY」をクリックします。「ユーザー・アカウントのアクセス・キー」で、「キーの作成」をクリックします。

    クラウド・ストレージ設定

    クラウド・ストレージ設定

    「アクセス・キー」および「シークレット」を書き留めます。

タスク2: Google Cloud Storageバケットへのダンプ・ファイルのアップロード

このタスクでは、Oracle Database@Google Cloudに移行するスキーマのデータベース・エクスポート・ダンプ・ファイルをGoogle Cloud Storageバケットにアップロードします。この時点でダンプファイルがなく、移行をテストしている場合は、HR.dmpからダンプファイルをダウンロードできます。

  1. Google Cloudコンソールに移動し、「クラウド・ストレージ」「バケット」に移動し、「作成」をクリックしてGoogle Cloud Storageバケットを作成します。この例では、バケットにgcpdatapumpという名前を付けます。

  2. gcpdatapumpバケットをクリックし、ダンプ・ファイルをアップロードします。

タスク3: ターゲットOracle Autonomous Databaseでのユーザー資格証明の設定

ここで、アクセスキーとシークレットがあります。 Google Cloud Storageから読み取ってデータをインポートするようにターゲットデータベースを設定しましょう。

ここでは、SQLclを使用して、Google Cloud Storage資格証明の設定に必要なステップを示します。

  1. SQLclをGoogle Cloud Compute Engine VMインスタンス(sqlcl-24.3.2.330.1718.zip)からダウンロードしてインストールします。

  2. 次のコマンドを実行してファイルを解凍します。

    wget https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-24.3.2.330.1718.zip
    unzip sqlcl-24.3.2.330.1718.zip
    
  3. Google Cloudコンソールで、Autonomous Databaseページに移動し、プロビジョニングされた自律型データベースをクリックします。

    クラウド・ストレージ設定

  4. 「Autonomous Databaseの詳細」ページに移動し、「接続」をクリックして、「TNS名」および「接続文字列」をノートにとります。

    クラウド・ストレージ設定 クラウド・ストレージ設定

  5. sqlcl/binの下にtnsnames.oraという名前のファイルを作成し、TNS_ADMIN変数を現在の作業ディレクトリに設定します。接続文字列を使用するか、tnsnamesパスを設定して、Oracle Autonomous Databaseに接続します。

    • tnsnamesパスを設定し、データベースに接続します。

      cd sqlcl/bin
      $ cat tnsnames.ora 
      adbgcp_high=(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=mahfgbhj.adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=gd443790554e91c_adbgcp_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
      $ 
      export TNS_ADMIN=`pwd`
      ./sqlcl admin@adbgcp_high
      

    または

    • 接続文字列を使用して設定します。

      cd sqlcl/bin 
      ./sqlcl admin@"(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=mahfgbhj.adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=gd443790554e91c_adbgcp_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))"
      
  6. 自律型データベースに管理ユーザーとして接続したら、次のPL/SQLプロシージャを実行し、usernameアクセス・キーに、passwordシークレットに置き換えます。

    set define off
    begin
    DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'GOOGLE_CRED_NAME',
    username => 'Access_key',
    password => 'Secret'
    );
    END;
    /
    

    クラウド・ストレージ設定

    PL/SQLプロシージャがログ・メッセージから正常に実行されていることを確認します。

  7. 次の問合せを実行して、Google Cloud Storageへのアクセスをテストします。

    SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('GOOGLE_CRED_NAME', 'https://gcpdatapump.storage.googleapis.com/');
    

    この図は、前述のステップを実行した結果を示しています。

タスク4: impdpユーティリティを使用したGoogle Cloud Storageバケットからのデータのインポート

同じSQLclウィンドウで、次のデータ・ポンプ・インポート・コマンドを実行します。

datapump import -
-schemas HR -
-excludeexpr "IN ('PROCEDURE', 'PACKAGE')" -
-directory data_pump_dir -
-credential GOOGLE_CRED_NAME -
-remaptablespaces USERS=DATA -
-dumpuri https://gcpdatapump.storage.googleapis.com/HR.dmp -
-logfile testuser1.log

この図は、前述のステップを実行した結果を示しています。

これで、アプリケーション・スキーマが正常にインポートされました。

次のステップ

このソリューションを実装する場合、2つのクラウド環境にリソースをデプロイします。データベース・リソースはGoogle Cloud内に、データベース管理コントロール・プレーンはOracle Cloud Infrastructure (OCI)内にあります。これにより、OCIが管理機能を保持している間に、Oracle Database製品をGoogle Cloud環境にデプロイできます。

Oracle Data Pumpを使用して、オンプレミスまたは他のクラウド・プロバイダからOracle Database@Google Cloudにデータを移行できます。Oracle Zero Downtime Migrationは、Oracle Data Pumpとともに、Oracle Database@Google Cloudへのデータの移行にも使用できます。

謝辞

その他の学習リソース

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

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