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. Oracle Cloud Infrastructureアカウント資格証明をAutonomous Databaseに格納し、資格証明名を指定します。これにより、データベースは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オブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。詳細は、リソース・プリンシパルを使用した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

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