資格証明の作成およびData Pump Dumpファイルの既存の表へのロード
データ・ロードでは、Oracle Data Pumpダンプ・ファイルをソース・ファイルとして使用することもできます。
このロード・タイプのソース・ファイルは、外部表のORACLE_DATAPUMPアクセス・ドライバを使用してソース・システムからエクスポートする必要があります。ORACLE_DATAPUMPアクセス・ドライバを使用したエクスポートの詳細は、「ORACLE_DATAPUMPアクセス・ドライバを使用したデータのアンロードおよびロード」を参照してください。
データをロードするには、まずORACLE_DATAPUMPアクセス・ドライバを使用してエクスポートされたダンプ・ファイルをオブジェクト・ストアに移動し、次にDBMS_CLOUD.COPY_DATAを使用してダンプ・ファイルをデータベース内の既存の表にロードします。
この例のソース・ファイルは、Oracle Data Pumpダンプ・ファイルexp 01.dmpおよびexp02.dmpです。
-
プロシージャ
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プロシージャ」を参照してください。
ノート
ノート: 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/exp01.dmp, https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp02.dmp', format => json_object('type' value 'datapump') ); END; /パラメータは次のとおりです。
-
table_name: ターゲット表の名前です。 -
credential_name: 前のステップで作成された資格証明の名前です。credential_nameパラメータは、Oracleオブジェクトのネーミング規則に準拠している必要があります。詳細は、「データベース・オブジェクトのネーミング規則」を参照してください。 -
file_uri_list: ロードするデータ・ポンプ・ダンプ・ファイルのカンマ区切りリストです。 -
format: ソース・ファイルのフォーマットを説明するために指定できるオプションを定義します。typeを'datapump'として指定する場合、他の有効な書式パラメータは'rejectlimit'のみです。
この例では、
namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。パラメータの詳細は、「COPY_DATAプロシージャ」および「Avro、ORCまたはParquetファイル用COPY_DATAプロシージャ」を参照。
-