資格証明の作成および既存の表へのデータのコピー
クラウド内のファイルからデータをロードする場合は、最初にオブジェクト・ストレージ資格証明をAutonomous Databaseに保存してから、プロシージャDBMS_CLOUD.COPY_DATA
を使用してデータをロードする必要があります。
この例のソース・ファイルchannels.txt
には、次のデータが含まれています:
S,Direct Sales,Direct T,Tele Sales,Direct C,Catalog,Indirect I,Internet,Indirect P,Partners,Others
- プロシージャ
DBMS_CLOUD.CREATE_CREDENTIAL
を使用してオブジェクト・ストア資格証明を格納します、たとえば:SET DEFINE OFF BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
( credential_name => 'DEF_CRED_NAME', username => 'adb_user@example.com', password => 'password' ); END; /この操作によって、資格証明が暗号化された形式でデータベースに格納されます。資格証明には任意の名前を使用できます。オブジェクト・ストアの資格証明を変更しないかぎり、このステップが必要なのは1回のみです。資格証明を格納した後は、すべてのデータ・ロードで同じ資格証明名を使用できます。
パラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。
リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。
ノート
SQL*PlusやSQL Developerなどのツールの中には、アンパサンド文字(&
)を特殊文字として使用するものもあります。パスワードにアンパサンド文字が含まれる場合、例に示されているとおり、それらのツールでSET DEFINE OFF
コマンドを使用して特殊文字を無効にし、資格証明を正しく作成します。 DBMS_CLOUD.COPY_DATA
プロシージャを使用して、既存の表にデータをロードしますたとえば:CREATE TABLE CHANNELS (channel_id CHAR(1), channel_desc VARCHAR2(20), channel_class VARCHAR2(20) ); / BEGIN
DBMS_CLOUD.COPY_DATA
( table_name =>'CHANNELS', credential_name =>'DEF_CRED_NAME', file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.txt', format => json_object('delimiter' value ',') ); END; /パラメータは次のとおりです。
-
table_name
: ターゲット表の名前です。 -
credential_name
: 前のステップで作成された資格証明の名前です。credential_name
パラメータは、Oracleオブジェクトのネーミング規則に準拠している必要があります。詳細は、「データベース・オブジェクトのネーミング規則」を参照してください。 -
file_uri_list
: ロードするソース・ファイルのカンマ区切りリストです。 -
format
: ソース・ファイル・タイプの形式(ファイルがテキスト型、ORC、ParquetまたはAvroのいずれであるかなど)を記述するために指定できるオプションを定義します。ソース・ファイル内のデータが暗号化されている場合は、
encryption
オプションでformat
パラメータを指定して、データを復号化します。データの復号化の詳細は、オブジェクト・ストレージからのインポート中のデータの復号化を参照してください。
この例では、
namespace-string
はOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketname
はバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。ノート
Autonomous Databaseは、圧縮データ形式を含む様々なソース・ファイル形式をサポートしています。サポートされている圧縮タイプについては、「DBMS_CLOUDパッケージ・フォーマット・オプション」およびDBMS_CLOUD
compression
フォーマット・オプションを参照してください。パラメータの詳細は、「COPY_DATAプロシージャ」および「Avro、ORCまたはParquetファイル用COPY_DATAプロシージャ」を参照してください。
-