Oracle Cloud Infrastructure Object StorageからAutonomous Databaseへのデータのロード

この例では、SQLコマンドを使用してOracle Cloud Infrastructure Object StorageからAutonomous Databaseにデータをロードする方法を示します。

Autonomous Databaseへのデータ・ロードを実行する様々なオプションがあります。次に例を示します:

  • UIオプションの使用: Data Studioロード・ツールのユーザー・インタフェースを使用して、クラウド・ストアの場所の資格証明を作成し、データを含むファイルを選択して、データ・ロード・ジョブを実行できます。

    「クラウド・ストレージからのデータのロード」を参照してください

  • Rest Data Services APIの使用: Data Studioロード・ツールAPIを使用して、クラウド・ストアの場所へのリンクを作成し、データ・ロード・ジョブを実行できます。

    「PL/SQLでのData Studioデータ・ロードAPIの使用」を参照してください

  • この例で説明するように、SQLコマンドを使用します。

これらのすべてのメソッドは、データのロードに同じPL/SQLパッケージDBMS_CLOUDを使用します。ただし、Data StudioにはSQLコマンドよりも追加の利点があります。ソースの分析および表定義の作成に役立つだけでなく、検証チェックも実行します。

ユーザー・アカウント認証のOracle Cloud Infrastructureアクセス資格証明と、Oracle Cloud Infrastructure Object Storageバケット内のオブジェクトにアクセスするためのオブジェクトURLが必要です。

Oracle Cloud Infrastructure Object Storageからデータをロードするには:
  1. Autonomous DatabaseでOracle Cloud Infrastructureユーザー・アカウントの資格証明を作成します。

  2. Oracle Cloud Infrastructure Object Storageからデータベースにデータをコピーします。

トピック

Oracle Cloud Infrastructureからのデータのロードの準備

前提条件を確認し、Oracle Cloud Infrastructure Object Storageからデータをロードするための準備をします。

前提条件

データ・ファイル(oci-data.txtなど)は、インポートできるOracle Cloud Infrastructureバケットに存在します。この例のサンプル・ファイルには、次の内容が含まれています。
1,OCI Direct Sales
2,OCI Tele Sales
3,OCI Catalog
4,OCI Internet
5,OCI Partners

Oracle Cloud Infrastructure側で、Oracle Cloud Infrastructureアカウントにログインし、次の手順を実行します。

  1. Oracle Cloud Infrastructureアカウントの認証トークンを取得します。
    詳細は、認証トークンの取得を参照してください。
  2. 「オブジェクト詳細」ページから、Oracle Cloud Infrastructure Object Storageバケットに格納されているデータファイルのオブジェクトURLを取得します。

Oracle Cloud Infrastructureからデータをロードするステップ

Oracle Cloud Infrastructure Object StorageからAutonomous Databaseにデータをロードするには、次のステップを実行します。

  1. Autonomous DatabaseにOracle Cloud Infrastructureアカウント資格証明を格納し、資格証明名を指定します。これにより、データベースはOracle Cloud Infrastructureアカウントで認証され、Oracle Cloud Infrastructure Object Storageバケット内のアイテムにアクセスできます。
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OCI_CRED_NAME',
        username => 'username',
        password => 'password'
      );
    END;
    /
    ノート

    ここでは、ユーザー名はOracle Cloud Infrastructureのユーザー名で、パスワードはユーザー認証トークンです。

    パラメータの詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructure Object Storeにアクセスするための資格証明を作成する必要はありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

    オプションで、この例に示すように、Oracle Cloud Infrastructureへのアクセスをテストできます。

    SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('OCI_CRED_NAME', 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/');
  2. データをロードする表をデータベースに作成します。
    CREATE TABLE myocitable (id NUMBER, name VARCHAR2(64));
    
  3. Oracle Cloud InfrastructureバケットからAutonomous Databaseにデータをインポートします。
    表名とOracle Cloud Infrastructure資格証明名の後にOracle Cloud InfrastructureオブジェクトURLを指定します。
    BEGIN
          DBMS_CLOUD.COPY_DATA(
              table_name => 'myocitable',
              credential_name => 'OCI_CRED_NAME',
              file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/oci-data.txt',
              format => json_object('delimiter' value ',')
          );
    END;
    /

    この例では、namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

    パラメータの詳細は、COPY_DATAプロシージャを参照してください。

Oracle Cloud Infrastructure Object StorageからAutonomous Databaseにデータを正常にインポートしました。この文を実行して、表内のデータを検証できます。
SELECT * FROM myocitable;
ID  NAME
--  –-------------
 1  OCI Direct Sales
 2  OCI Tele Sales
 3  OCI Catalog
 4  OCI Internet
 5  OCI Partners

データのロードの詳細は、クラウド内のファイルからのデータのロードを参照してください。