データの移行

Oracle SQL Developerを使用して、データベースを移行し、表をOracleにコピーします。

移行スクリプトの実行

Oracle Autonomous Databaseでmaster.sqlスクリプトを実行します。

  1. Oracle Autonomous Databaseに接続します。
  2. SQL*PlusまたはOracle SQL Developermaster.sqlを実行します。
    master.sqlを実行すると、DB2INST1ユーザーとEmulateユーザーが作成されます。

Emulateは、ストアド・プロシージャおよびファンクションの変換を処理します。

DB2INST1は、自律型データベースにすべての表およびビューを作成します。

ストレージへのデータのアップロード

ローカル・システムからリージョン内のOracle Cloud Infrastructure Object Storageにデータ・ファイルをアップロードします。

データファイルが2GB以下の場合、コンソールを使用してファイルをアップロードできます。データファイルが2GBを超える場合は、Oracle Cloud Infrastructure (OCI)コマンドライン・インタフェース(CLI)を使用して、オブジェクト・ストレージに手動でアップロードすることも、自動的にアップロードすることもできます。

CLIを使用する場合、選択したパートのサイズを指定すると、Oracle Cloud Infrastructure Object Storageでは、オブジェクトがパートに分割され、すべてのパートのアップロードが自動的に実行されます。並行してアップロードできるパートの最大数を設定できます。デフォルトでは、CLIは、並行してアップロードできるパートの数を3つに制限しています。CLIを使用する場合、アップロードの完了時にコミットを実行する必要はありません。

  1. コンソールを使用してファイルをアップロードするには:
    1. OCIコンソールを開き、オブジェクト・ストレージの詳細に移動し、バケット名をクリックしてその詳細を表示します。
    2. 「オブジェクトのアップロード」をクリックします。
    3. アップロードする1つ以上のオブジェクトを選択します。

      アップロードするファイルを選択すると、スクロール・リストに表示されます。選択したファイルをアップロードしない場合は、ファイル名の右側にある「X」アイコンをクリックします。

      選択したアップロード対象ファイルと、バケットにすでに格納されているファイルが同じ名前の場合、上書きを警告するメッセージが表示されます。

    4. (オプション)「オブジェクト名接頭辞」フィールドで、アップロードするように選択したファイルのファイル名接頭辞を指定します。
    5. 「オブジェクトのアップロード」をクリックします。
      選択したオブジェクトがアップロードされ、バケット内のオブジェクト・リストに表示されます。
  2. CLIを使用してローカル・システムからオブジェクト・ストレージ・バケットにデータ・ファイルをアップロードするには:
    1. コマンド・プロンプトを開きます。
    2. 次のようにコマンドを入力します。
      oci os object put -ns object_storage_namespace -bn bucket_name --file file_path --name object_name --part-size upload_part_size_in_MiB --parallel-
      upload-count maximum_number_parallel_uploads 
      次の変数を環境のパラメータに置き換えます。
      • object_storage_namespace:リクエストに使用される最上位ネームスペース。指定しない場合、oci os ns getのコールを使用してこのパラメータを取得できます。
      • bucket_name:ストレージ・バケットの名前。
      • file_path:ファイル名を含む完全なファイル・パス。
      • object_name:オブジェクトの名前。デフォルト値は、パスを除くファイル名です。
      • upload_part_size_in_MiB:ミビバイト(MiB)内の各マルチパートのサイズ。
      • maximum_number_parallel_uploads:並行してアップロードできるパートの最大数。デフォルトは3です。

資格証明の作成

Autonomous Data Warehouseにアクセスするための資格証明を作成し、オブジェクト・ストレージ資格証明をデータ・ウェアハウスに格納します。

SQL Developerでは、クライアント資格証明を含むウォレットを使用してOracle Autonomous Data Warehouseにアクセスできます。ウォレットを作成するには、Oracle Autonomous Data Warehouseの管理者アカウントが必要です。

  1. Oracle Autonomous Data Warehouseのサービス・コンソールに移動します。
  2. 「管理」をクリックします。
  3. 「管理」ページで「クライアント資格証明のダウンロード」をクリックします。
  4. ウォレット・パスワードを入力し、「クライアント資格証明」でパスワードを確認します。
  5. 「ダウンロード」をクリックして、クライアント・セキュリティ資格証明のzipファイルを保存します。
    権限のないデータベース・アクセスを防ぐために、このファイルを保護する必要があります。
  6. Oracle Cloud Infrastructureコンソールにサインインし、「ユーザー」アイコンをクリックして、「ユーザー設定」を選択します。
  7. 「リソース」セクションの「認証トークン」をクリックし、「トークンの生成」をクリックします。
  8. 認証トークンの説明を指定し、「トークンの生成」をクリックします。
    トークンが表示されたときにコピーします。
  9. 「コピー」リンクをクリックして、トークン情報を安全な場所に保存します。
    ダイアログを閉じると、コンソールにトークンが再度表示されません。
  10. 「閉じる」をクリックします。

Autonomous Databaseへのデータの移行

Oracle SQL Developer Webを使用して、Oracle Autonomous Data Warehouseにデータを挿入します。

  1. Oracle Autonomous Data Warehouseのサービス・コンソールに移動します。
  2. 「開発」をクリックし、「SQL Developer Web」をクリックします。
  3. Oracle Autonomous Data Warehouseインスタンスの管理ユーザー名およびパスワードを入力し、「サインイン」をクリックします。
  4. 管理ユーザーとしてログインし、Oracle SQL Developer WebからOracle Autonomous Data Warehouseに接続します。
  5. Oracle SQL Developer Webで、次のSQL文を実行して、示されたパラメータとフラグを置き換えるオブジェクト・ストア資格証明を作成します。
    SET DEFINE OFF 
    BEGIN 
    DBMS_CLOUD.CREATE_CREDENTIAL( 
    credential_name => 'ADW_CREDENTIALS', 
    username => 'adwc_user@example.com', 
    password => 'auth token' 
    ); 
    END;
     /
    次の変数を環境のパラメータに置き換えます。
    • ADW_CREDENTIALS:格納されるAutonomous Data Warehouse資格証明の名前。
    • adwc_user@example.com:自律型データ・ウェアハウス・ユーザーのユーザー名。ユーザー名が「ユーザー設定」に表示されます。フェデレーテッド・アカウントを使用している場合は、完全なユーザー名(service_name/user_name>@example.comなど)を指定してください。
    • auth token:以前に作成した認証トークン。
  6. オブジェクト・ストア・バケット内のファイルをリストして、ユーザー名とパスワードを検証します。
    select object_name, bytes from dbms_cloud.list_objects('Credential Name','https://objectstorage.region.oraclecloud.com/n/tenancy/b/Bucket name/');
    BE
    次の変数を環境のパラメータに置き換えます。
    • Credential Name
    • オブジェクト・ストレージ・リンクのregiontenancyおよびBucket name
  7. 作成した表にデータをロードするには、Oracle SQL Developer WebまたはSQL Developerを使用します。
    BEGIN   
          DBMS_CLOUD.COPY_DATA(     
    table_name =>'ARTIST', 
    schema_name => 'DB2INST1',
    credential_name => 'ADW_CREDENTIALS ',     
    file_uri_list =>object storage link,      
    format => json_object('delimiter' value '"#EOFD#"','escape' value true, 'recorddelimiter' value '"<EORD>\n"') );  
    END;
    /
    COMMIT;
    次の変数を環境のパラメータに置き換えます。
    • Table name
    • スキーマ名
    • Credential Name
    • object storage link
    • EORD
  8. データが表にロードされていることを確認します。
    select * from DB2INST1.artist