Autonomous DatabaseでのOracle Data Pumpを使用したデータのインポート
Oracle Data Pumpは、OracleデータベースとAutonomous Databases間のデータおよびメタデータの非常に高速な一括移動を提供します。
Data Pump Importを使用すると、Oracle Cloud Infrastructure Object Storage、Microsoft Azure、AWS S3およびOracle Cloud Infrastructure Object Storage Classicに存在するData Pumpファイルからデータをインポートできます。データをクラウド・オブジェクト・ストアに保存し、Oracle Data Pumpを使用してデータをAutonomous Databaseにロードできます。
ロードまたはインポート操作によって次のタイムゾーン関連エラーが発生した場合は、データベースで使用可能な最新バージョンにタイムゾーン・ファイルをアップグレードする必要があります。
ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version n+1
into a target database with TSTZ version n.
このタイムゾーン関連エラーの詳細は、Autonomous Databaseでのタイムゾーン・ファイルの更新の管理を参照してください。
- Autonomous Databaseにインポートするための既存のOracle Databaseのエクスポート
Oracle Data Pump Exportを使用して既存のOracle Databaseをエクスポートし、Oracle Data Pump Importを使用してAutonomous Databaseに移行します。 - Oracle Data Pumpバージョン18.3以降を使用したデータのインポート
Oracleでは、Data PumpファイルからAutonomous Databaseにデータをインポートするために、最新のOracle Data Pumpバージョンを使用することをお薦めします。このバージョンには、より優れたエクスペリエンスを実現するための拡張機能と修正が含まれているためです。 - Oracle Data Pumpを使用したデータのインポート(バージョン12.2.0.1以前)
Data Pumpクライアント・バージョン12.2.0.1以前を使用して、Data PumpファイルからAutonomous Databaseにデータをインポートするには、default_credential
パラメータを設定します。 - Data Pump Importのログ・ファイルへのアクセス
Data Pump Import操作のログ・ファイルは、データ・ポンプのimpdp
directoryパラメータで指定したディレクトリに格納されます。 - Oracle Data Pumpインポートおよび表圧縮
Autonomous DatabaseでOracle Data Pumpインポートを使用するためのノートを提供します。
親トピック: Autonomous Databaseへのデータのロード
Autonomous Databaseにインポートするための既存のOracle Databaseのエクスポート
Oracle Data Pump Importを使用して既存のOracle DatabaseをAutonomous Databaseに移行するには、Oracle Data Pump Exportを使用してそのデータベースをエクスポートします。
Oracleでは、Autonomous Databaseにデータベースを移行するために、Oracle Data Pumpスキーマ・モードを使用することをお薦めします。エクスポートするスキーマは、schemasパラメータを使用してリストできます。
移行を高速化するには、スキーマを複数のData Pumpファイルにエクスポートして、並列処理を使用します。使用するダンプ・ファイル名のフォーマットは、dumpfileパラメータを使用して指定できます。parallelパラメータをデータベース内のCPUの数以上に設定します。
Oracleでは、Autonomous Databaseへの移行を迅速かつ容易にするために、次のData Pumpパラメータを使用することをお薦めします。
exclude=cluster,indextype,db_link parallel=n schemas=schema_name dumpfile=export%l.dmp
exclude
パラメータは、これらのオブジェクト型がエクスポートされないようにします。
encryption_pwd_prompt=yes
に設定すると、Oracle Data Pumpエクスポートによって、ダンプ・ファイルを暗号化するための暗号化パスワードの入力を求められます。
次の例では、16個のCPUを持つデータベースに移行するために、ソースOracle DatabaseからSHスキーマをエクスポートします。
expdp sh/sh@orcl \ exclude=cluster,indextype,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 Data Pump Exportの詳細は、『Oracle Databaseユーティリティ』を参照してください。
Oracle Data Pumpバージョン18.3以上を使用したデータのインポート
Data PumpファイルのデータをAutonomous Database,にインポートする場合は、最新のOracle Data Pumpバージョンを使用することをお薦めします。これには操作性向上のための拡張機能と修正が含まれています。
「Oracle Instant Clientのダウンロード」から、使用しているプラットフォーム用の最新バージョンのOracle Instant Client (Oracle Data Pumpを含む)をダウンロードします。Oracle Instant Clientをダウンロードした後に必要なインストール・ステップについては、プラットフォーム・インストールのダウンロード・ページでインストールの手順を参照してください。
Oracle Data Pumpバージョン18.3以降では、資格引数により、ソース・ファイルに使用しているクラウド・オブジェクト・ストレージ・サービスに対してData Pumpが認証されます。dumpfile引数は、Data PumpファイルのURLをカンマで区切ったリストです。
In Oracle Data Pump, if your source files reside on Oracle Cloud Infrastructure Object Storage you can use Oracle Cloud Infrastructure native URIs or Swift URIs.これらのファイルのURI形式の詳細は、DBMS_CLOUDのURI形式を参照してください。
Oracle Data Pumpによるインポートとcredential
パラメータの設定
Oracle Data Pumpを使用したインポートに関するノート:
-
Swift URIを使用してオブジェクト・ストレージへのOracle Data Pumpエクスポートを実行する場合、Swift資格証明を使用してOracle Data Pumpインポートでインポートする必要があります。Swift URIの詳細は、Oracle Cloud Infrastructure Object StorageのSwift URI形式を参照してください。
-
ネイティブURIを使用してオブジェクト・ストレージへのOracle Data Pumpエクスポートを実行する場合、Swift資格証明または署名キー・ベースの資格証明を使用してインポートできます。ネイティブURIの詳細は、Oracle Cloud Infrastructure Object Storage Native URI Formatを参照してください。
- OCIリソース・プリンシパル資格証明によるOracle Data Pumpを使用したデータのインポート
Oracle Data Pumpでは、Oracle Cloud Infrastructureリソース・プリンシパルを資格証明オブジェクトとして使用して、データ・ポンプ・ファイルをAutonomous Databaseにインポートできます。
OCIリソース・プリンシパル資格証明でのOracle Data Pumpを使用したデータのインポート
Oracle Data Pumpでは、Oracle Cloud Infrastructureリソース・プリンシパルを資格証明オブジェクトとして使用して、データ・ポンプ・ファイルをAutonomous Databaseにインポートできます。
Oracle Data Pump expdp
を使用してオブジェクト・ストアに直接エクスポートする場合は、impdp
でインポートするときにエクスポートに使用した資格証明と同じ資格証明を使用する必要があります。この場合、Oracle Data PumpインポートはOracle Cloud Infrastructureリソース・プリンシパル資格証明をサポートしません。その他のアップロード方法は、リソース・プリンシパル資格証明を使用したimpdp
の使用でサポートされています。たとえば、DBMS_CLOUD.PUT_OBJECT
を使用してオブジェクト・ストアにOracle Data Pumpファイルをアップロードする場合、リソース・プリンシパル資格証明を使用してOracle Data Pump impdp
を使用してファイルをインポートできます。同様に、Oracle Cloud Infrastructure Consoleを使用してデータ・ポンプ・ファイルをオブジェクト・ストアにアップロードする場合は、リソース・プリンシパル資格証明を使用して、Oracle Data Pump impdp
を使用してAutonomous Databaseインスタンスにインポートできます。
In Oracle Data Pump, if your source files reside on Oracle Cloud Infrastructure Object Storage you can use Oracle Cloud Infrastructure native URIs or Swift URIs.これらのファイルのURI形式の詳細は、DBMS_CLOUDのURI形式を参照してください。
Oracle Data Pumpを使用したデータのインポート(バージョン12.2.0.1以前)
Data Pumpクライアント・バージョン12.2.0.1以前を使用して、default_credential
パラメータを設定することで、Data PumpファイルからAutonomous Databaseにデータをインポートできます。
Data Pump Importバージョン12.2.0.1以前には、credentialパラメータがありません。古いバージョンのData Pump Importを使用している場合は、Autonomous Databaseにデフォルトの資格証明プロパティを定義し、dumpfile
パラメータでdefault_credential
キーワードを使用する必要があります。
In Oracle Data Pump, if your source files reside on Oracle Cloud Infrastructure Object Storage you can use the Oracle Cloud Infrastructure native URIs, or Swift URIs.これらのファイルのURI形式の詳細は、DBMS_CLOUDのURI形式を参照してください。
古いバージョンのOracle Data Pumpでのインポートとdefault_credential
の設定
完全インポートを実行したり、他のユーザーが所有するオブジェクトをインポートするには、
DATAPUMP_CLOUD_IMP
ロールが必要です。
Data Pump Importを使用して、Autonomous DatabaseにSODAコレクションをインポートすることもできます。詳細は、Oracle Data Pumpバージョン19.6以上を使用したSODAコレクション・データのインポートを参照してください。
Autonomous Databaseで使用できないオブジェクトの詳細は、SQLコマンドを参照してください。
Autonomous DatabaseでのOracle Data Pumpインポートを使用した表圧縮の詳細は、Oracle Data Pumpインポートおよび表圧縮を参照してください。
Oracle Data Pump Importパラメータの詳細は、『Oracle Databaseユーティリティ』を参照してください。
Oracle Data Pumpを使用したインポートに関するノート:
-
Swift URIを使用してオブジェクト・ストレージへのOracle Data Pumpエクスポートを実行する場合、Swift資格証明を使用してOracle Data Pumpインポートでインポートする必要があります。Swift URIの詳細は、Oracle Cloud Infrastructure Object StorageのSwift URI形式を参照してください。
-
ネイティブURIを使用してオブジェクト・ストレージへのOracle Data Pumpエクスポートを実行する場合、Swift資格証明または署名キー・ベースの資格証明を使用してインポートできます。ネイティブURIの詳細は、Oracle Cloud Infrastructure Object Storage Native URI Formatを参照してください。
Data Pump Importのログ・ファイルへのアクセス
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
はバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。
リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructure Object Storeにアクセスするための資格証明を作成する必要はありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。
詳細は、DBMS_CLOUDサブプログラムおよびREST APIを参照してください。
Oracle Data Pumpのインポートおよび表圧縮
Autonomous DatabaseでのOracle Data Pumpインポートの使用に関するノートを提供します。
デフォルトでは、Oracle Data Pump Importユーティリティは、ソース・データベース(データのエクスポート元のデータベース)の表に対して指定された圧縮タイプと同じ圧縮タイプのデータをインポートします。圧縮をAutonomous Databaseに残す場合は、データのインポート時に次のパラメータを指定します:
TRANSFORM=TABLE_COMPRESSION_CLAUSE:NONE
このオプションを指定したTRANSFORM
パラメータは、Oracle Data Pump Importでソース表の圧縮タイプを無視するように指定します。このオプションを使用すると、Oracle Data Pumpはデフォルトの圧縮タイプを使用して表をAutonomous Databaseにインポートします。デフォルトの圧縮タイプはAutonomous Databaseワークロード・タイプによって異なります:
-
データ・ウェアハウス: デフォルトの表圧縮はハイブリッド列圧縮です。
Oracleでは、ロードによってデータが圧縮されるため、アプリケーションが主に表に対してバルク・ロード操作を使用する場合、このデフォルトを使用することをお薦めします。問合せでIOを少なくする必要があるため、これらの表の問合せパフォーマンスは圧縮によるメリットがあります。
Oracle GoldenGateまたはその他のレプリケーション・ツールを使用して他のシステムからレプリケートされたステージング表がある場合、またはアプリケーションが主に表に対して行ごとのDML操作を使用する場合、Oracleでは、表を非圧縮のままにするか、拡張行圧縮を使用することをお薦めします。
-
トランザクション処理: デフォルトの表圧縮は圧縮されません。
-
JSONデータベース: デフォルトの表圧縮は圧縮されません。
-
APEX: デフォルトの表圧縮は圧縮ではありません。
Oracle Data Pump ImportのTRANSFORM
パラメータの詳細は、TRANSFORMを参照してください。
詳細は、「表圧縮について」を参照してください。