Oracle Data Pumpを使用したデータのロード
Oracle Data Pumpは、Oracleデータベースと専用Exadataインフラストラクチャ上のAutonomous Databaseの間で、データおよびメタデータの一括移動を非常に高速に行います。
Data Pump Importを使用すると、Oracle Cloud Infrastructure Object StorageおよびOracle Cloud Infrastructure Object Storage ClassicにあるData Pumpファイルからデータをインポートできます。データをクラウド・オブジェクト・ストアに保存し、Oracle Data Pumpを使用してデータをAutonomous Databaseにロードできます。
ノート:
次のトピックを読まずに試してみるには、フリート管理者専用Oracle Autonomous Databaseワークショップのラボ9: Data Pumpを使用した移行を参照してください。既存のOracle Databaseからのデータのエクスポート
まず、Oracle Data Pump Exportを使用して既存のOracle Databaseスキーマをエクスポートします。次に、Oracle Data Pump Importを使用してAutonomous Databaseに移行します。
高速かつ簡単にAutonomous Databaseに移行できるように、次のData Pump Exportパラメータを使用することをお薦めします:
exclude=cluster, db_link
parallel=n
schemas=schema name
dumpfile=export%l.dmp
Oracle Data Pump Exportには、複数のエクスポート・モードが用意されています。Autonomous Databaseに移行する場合は、スキーマ・モードの使用をお薦めします。エクスポートするスキーマを表示するには、schemasパラメータを使用します。
移行を高速化するには、スキーマを複数のData Pumpファイルにエクスポートして、並列処理を使用します。使用するダンプ・ファイル名のフォーマットは、dumpfileパラメータを使用して指定できます。parallelパラメータをAutonomous Databaseの少なくともCPUの数に設定します。
除外パラメータおよびdata_optionsパラメータを使用すると、Autonomous Databaseで使用できないオブジェクト・タイプはエクスポートされず、表パーティションは、Autonomous Databaseに高速にインポートできるようにグループ化されます。
ノート:
expdp
コマンドを実行する前に、最新の統計を収集することをお薦めします。dbms_stats
パッケージには、最新の統計を収集するための複数のプロシージャが用意されています。統計はエクスポート・ダンプ・ファイルに自動的に追加され、インポート中のオブジェクトのサイズの判別および並列度の最適化に役立ちます。詳細は、Oracle Database 19c PL/SQLパッケージおよびタイプ・リファレンスおよびOracle Database 23ai PL/SQLパッケージおよびタイプ・リファレンスのDBMS_STATSの操作上のノートを参照してください。
次の例では、16個のCPUを持つAutonomous Databaseに移行するために、ソースOracle DatabaseからSHスキーマをエクスポートします:
expdp sh/sh@orcl \
exclude=cluster, db_link \
parallel=16 \
schemas=sh \
dumpfile=export%l.dmp \
encryption_pwd_prompt=yes
Data Pumpパラメータに関するノート:-
expdp
を使用したエクスポート中にencryption_pwd_prompt=yes
パラメータを使用する場合は、インポートでもencryption_pwd_prompt=yes
を使用し、impdp
プロンプトで同じパスワードを入力してダンプ・ファイルを復号化します(エクスポートで指定したパスワードを覚えておいてください)。暗号化パスワードの最大長は128バイトです。 -
dumpfile
パラメータでは、レガシーの%U
および%u
ワイルドカードに加えて、%L
および%l
ワイルドカードがサポートされています。たとえば、dumpfile=export%L.dmp
です。Oracle Databaseリリース12.2以降からのエクスポートには、
%L
または%l
ワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を3桁から10桁の可変幅増分整数に拡張し、100から2147483646で終わります。リリース12.2より前のOracle Databaseからのエクスポートには、レガシーの
%U
または%u
ワイルドカードを使用します。このオプションを使用し、99を超えるダンプ・ファイルが必要な場合は、複数のダンプ・ファイル名をそれぞれ%U
または%u
パラメータで指定する必要があります。
要件に応じて、compression
などの他のData Pump Exportパラメータを使用できます。詳細は、Oracle Database 19cユーティリティまたはOracle Database 23aiユーティリティのOracle Data Pumpエクスポートを参照してください。
クラウド・オブジェクト・ストレージへのエクスポート・ファイルのアップロード
ソースOracle Databaseからエクスポートしたデータをインポートする前に、エクスポート・ファイルをクラウド・オブジェクト・ストレージにアップロードする必要があります。
エクスポート・ファイルは、Oracle Cloud Infrastructure Object Storageの既存のストレージ・バケットまたはOracle Cloud Infrastructure Object Storage Classicの既存のストレージ・コンテナにアップロードできます。または、次の手順を使用して、新しいストレージ・バケットを作成し、そこにエクスポート・ファイルをアップロードします。
-
cloud.oracle.comでOracle Cloudアカウントにサインインします。
-
Oracle Cloud Infrastructureの左側のナビゲーション・リストから「オブジェクト・ストレージ」を選択し、サブリストから「オブジェクト・ストレージ」を選択します。
-
ストレージ・バケットを作成するコンパートメントを選択します。
-
「バケットの作成」をクリックします。
-
「Create Bucket」ダイアログで、バケット名を指定し、「Create Bucket」をクリックします。
-
バケットが作成されたら、バケットのリストでその名前をクリックして、その「バケット詳細」ページを表示します。
-
「オブジェクト」ボックスで、「オブジェクトのアップロード」をクリックします。
-
「オブジェクトのアップロード」ダイアログで、「コンピュータからのファイルの選択」ボックスの「ファイルの選択」リンクをクリックします。
-
ファイル・ブラウザで、エクスポート・ファイルに移動して選択します。次に、「開く」をクリックします。
-
「オブジェクトのアップロード」ダイアログで、「オブジェクトのアップロード」をクリックして、選択したファイルのアップロードを開始します。
-
アップロードが完了したら、「オブジェクトのアップロード」ダイアログを閉じます。
Oracle Data Pumpを使用したデータのインポート
Data PumpファイルのデータをAutonomous Databaseにインポートする場合は、最新のOracle Data Pumpバージョンを使用することをお薦めします。これには操作性向上のための拡張機能と修正が含まれています。
「Oracle Instant Clientのダウンロード」から、使用しているプラットフォーム用の最新バージョンのOracle Instant Client Basicパッケージおよびツール・パッケージ(Oracle Data Pumpが含まれる)をダウンロードします。Oracle Instant Clientをダウンロードした後に必要なインストール・ステップについては、プラットフォーム・インストールのダウンロード・ページでインストールの手順を参照してください。
Oracle Data Pumpバージョン18.3以降では、credential
引数により、ソース・ファイルに使用しているクラウド・オブジェクト・ストレージ・サービスに対してData Pumpが認証されます。dumpfile
引数は、Data PumpファイルのURLをカンマで区切ったリストです。
Data Pump Importバージョン12.2.0.1以前には、credential
パラメータがありません。古いバージョンのData Pump Importを使用している場合は、Autonomous Databaseにデフォルトの資格証明プロパティを定義し、dumpfile
パラメータでdefault_credential
キーワードを使用する必要があります。
Oracle Data Pumpでは、ソース・ファイルがOracle Cloud Infrastructure Object Storageに存在する場合は、Oracle Cloud InfrastructureネイティブURIまたはSwift URIを使用できます。これらのURIフォーマットの詳細は、クラウド・オブジェクト・ストレージのURIフォーマットを参照してください。
Data Pump Importのログ・ファイルへのアクセス
データ・ポンプ・インポート操作のログ・ファイルは、データ・ポンプのimpdp
directoryパラメータで指定したディレクトリに格納されます。
ログ・ファイルにアクセスするには、プロシージャDBMS_CLOUD.PUT_OBJECT
を使用してログ・ファイルをCloud Object Storageに移動する必要があります。たとえば、次のPL/SQLブロックは、import.log
ファイルをCloud Object Storageに移動します:
BEGIN
DBMS_CLOUD.PUT_OBJECT
(
credential_name => 'DEF_CRED_NAME',
object_uri => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/import.log',
directory_name => 'DATA_PUMP_DIR',
file_name => 'import.log');
END;
/
この例では、namespace-string
はOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketname
はバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。
詳細は、DBMS_CLOUD for Objects and Filesを参照してください。