2 データ・ポンプ・エクスポート
Oracle Data Pump Exportユーティリティは、ダンプ・ファイル・セットと呼ばれる一連のオペレーティング・システム・ファイルに、データおよびメタデータをアンロードする場合に使用します。
- データ・ポンプ・エクスポートとは
データ・ポンプ・エクスポート(以降、エクスポート・ユーティリティと呼びます)は、ダンプ・ファイル・セットと呼ばれる一連のオペレーティング・システム・ファイルにデータおよびメタデータをアンロードするためのユーティリティです。 - データ・ポンプ・エクスポートの起動
データ・ポンプ・エクスポート・ユーティリティは、expdp
コマンドを使用して起動します。 - エクスポート操作中のフィルタ処理
データ・ポンプ・エクスポートは、データとメタデータのフィルタ処理機能を提供します。 - エクスポート・ユーティリティのコマンドライン・モードで使用可能なパラメータ
この項では、データ・ポンプ・エクスポート・ユーティリティのコマンドライン・モードで使用可能なパラメータについて説明します。 - エクスポート・ユーティリティの対話方式コマンド・モードで使用可能なコマンド
対話方式コマンド・モードでは、現行のジョブは継続して続行されますが、端末へのロギングは一時停止され、エクスポート・プロンプト(Export>
)が表示されます。 - データ・ポンプ・エクスポートの使用例
この項では、データ・ポンプ・エクスポートの使用例を示します。 - データ・ポンプ・エクスポートの構文図
この項では、データ・ポンプ・エクスポートの構文図を示します。
親トピック: Oracle Data Pump
2.1 データ・ポンプ・エクスポート・ユーティリティとは
データ・ポンプ・エクスポート(以降、エクスポート・ユーティリティと呼びます)は、ダンプ・ファイル・セットと呼ばれる一連のオペレーティング・システム・ファイルにデータおよびメタデータをアンロードするためのユーティリティです。
ダンプ・ファイル・セットは、データ・ポンプ・インポート・ユーティリティによってのみインポートできます。ダンプ・ファイル・セットは、同一システムでインポートするか、または別のシステムへ移動してそのシステムにロードできます。
ダンプ・ファイル・セットは、表データ、データベース・オブジェクトのメタデータ、制御情報を含む1つ以上のディスク・ファイルで構成されています。これらのファイルは独自のバイナリ形式で書き込まれています。データ・ポンプ・インポート・ユーティリティは、インポート操作中、これらのファイルを使用してダンプ・ファイル・セット内の各データベース・オブジェクトの位置を特定します。
ダンプ・ファイルは、クライアントではなくサーバーによって書き込まれるため、データベース管理者(DBA)は、ファイルが書き込まれるサーバーの場所を定義するディレクトリ・オブジェクトを作成する必要があります。
データ・ポンプ・エクスポート・ユーティリティでは、データおよびメタデータのサブセットが、エクスポート・モードで設定されているとおりにジョブによって移動されるように指定できます。この指定には、エクスポート・パラメータで指定するデータ・フィルタおよびメタデータ・フィルタが使用されます。
関連項目:
-
ディレクトリ・オブジェクトの詳細は、「ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置」を参照してください。
-
フィルタの使用方法の詳細は、「エクスポート操作中のフィルタ処理」を参照してください。
-
データ・ポンプ・エクスポートを使用できる様々な方法の例は、「データ・ポンプ・エクスポートの使用例」を参照してください。
親トピック: データ・ポンプ・エクスポート
2.2 データ・ポンプ・エクスポートの起動
データ・ポンプ・エクスポート・ユーティリティは、expdp
コマンドを使用して起動します。
エクスポート操作の特性は、指定するエクスポート・パラメータによって決定されます。これらのパラメータは、コマンドラインまたはパラメータ・ファイルのいずれかで指定できます。
- データ・ポンプ・エクスポートのインタフェース
データ・ポンプ・エクスポートは、コマンドライン、パラメータ・ファイルまたは対話方式コマンド・モードを使用して実行できます。 - データ・ポンプ・エクスポートのモード
エクスポートには、データベースの様々な部分をアンロードするための様々なモードがあります。 - ネットワークに関する考慮点
データ・ポンプ・エクスポート・ユーティリティの起動時、接続文字列には接続識別子を指定できます。この識別子では、現行のOracleシステム識別子(SID)によって指定した現行のインスタンスとは別のデータベース・インスタンスを指定できます。
親トピック: データ・ポンプ・エクスポート
2.2.1 データ・ポンプ・エクスポートのインタフェース
データ・ポンプ・エクスポートとは、コマンドライン、パラメータ・ファイルまたは対話方式コマンド・モードを使用して対話できます。
-
コマンドライン・インタフェース: ほとんどのエクスポート・パラメータを直接コマンドラインで指定できます。コマンドライン・インタフェースで使用可能なパラメータの詳細。
-
パラメータ・ファイル・インタフェース: パラメータ・ファイルでコマンドラインのパラメータを指定できます。パラメータ・ファイルはネストできないため、
PARFILE
パラメータのみが例外となります。値の指定に引用符が必要なパラメータを指定する場合は、パラメータ・ファイルを使用することをお薦めします。 -
対話方式コマンド・インタフェース: 端末へのロギングを中止してエクスポート・ユーティリティのプロンプトを表示します。このプロンプトで、対話方式コマンド・モード固有のコマンドも含めて、様々なコマンドを入力できます。このモードは、コマンドライン・インタフェースまたはパラメータ・ファイル・インタフェースで開始されたエクスポート操作中に[Ctrl]キーを押しながら[C]キーを押すと使用可能になります。対話方式コマンド・モードは、実行中のジョブまたは停止されたジョブに接続した場合も使用可能になります。
2.2.2 データ・ポンプ・エクスポートのモード
エクスポート・ユーティリティには、データベースの様々な部分をアンロードするための様々なモードがあります。
モードは、適切なパラメータを使用してコマンドラインで指定します。使用可能なモードについては、次の項で説明します。
ノート:
一部のシステム・スキーマは、ユーザー・スキーマではないため、エクスポートできません。システム・スキーマには、Oracleが管理するデータおよびメタデータが含まれています。エクスポートされないシステム・スキーマの例としては、SYS
、ORDSYS
、MDSYS
などがあります。
- 全体モード
全データベース・エクスポートは、FULL
パラメータを使用して指定します。 - スキーマ・モード
スキーマ・エクスポートは、SCHEMAS
パラメータを使用して指定します。これがデフォルトのエクスポート・モードです。 - 表モード
表モード・エクスポートは、TABLES
パラメータを使用して指定します。 - 表領域モード
表領域エクスポートは、TABLESPACES
パラメータを使用して指定します。 - トランスポータブル表領域モード
トランスポータブル表領域エクスポートは、TRANSPORT_TABLESPACES
パラメータを使用して指定します。
関連トピック
関連項目:
親トピック: データ・ポンプ・エクスポートの起動
2.2.2.1 全体モード
全データベース・エクスポートは、FULL
パラメータを使用して指定します。
全データベース・エクスポートでは、データベース全体がアンロードされます。このモードには、DATAPUMP_EXP_FULL_DATABASE
ロールが必要です。
全体モード・エクスポート時のトランスポータブル・オプションの使用
FULL
パラメータをTRANSPORTABLE=ALWAYS
パラメータとともに指定すると、データ・ポンプによって全体トランスポータブル・エクスポートが実行されます。全体トランスポータブル・エクスポートでは、データベースの完全なコピーを作成するために必要なすべてのオブジェクトおよびデータがエクスポートされます。次のデータ移動方法の組合せが使用されます。
-
トランスポータブル表領域に存在するオブジェクトは、そのメタデータのみがダンプ・ファイル・セットにアンロードされ、データ自体はデータ・ファイルをターゲット・データベースにコピーしたときに移動されます。コピーする必要のあるデータ・ファイルは、エクスポート操作のログ・ファイルの最後に表示されます。
-
非トランスポータブル表領域に存在するオブジェクト(
SYSTEM
やSYSAUX
など)は、ダイレクト・パス・アンロードおよび外部表を使用して、そのメタデータとデータの両方がダンプ・ファイル・セットにアンロードされます。
全体トランスポータブル・エクスポートの実行には、次の制限があります。
-
全体トランスポータブル・エクスポートを実行するユーザーには、
DATAPUMP_EXP_FULL_DATABASE
権限が必要です。 -
エクスポートを実行するユーザーのデフォルトの表領域を、転送対象となっている表領域のいずれかに設定することはできません。
-
エクスポートされるデータベースに、暗号化された表領域または暗号化された列(透過的データ暗号化(TDE)列またはSecureFiles LOB列)のある表が含まれる場合、
ENCRYPTION_PASSWORD
パラメータも指定する必要があります。 -
ソース・データベースとターゲット・データベースは、ソース・データベースに暗号化された表領域がある場合、同じエンディアンのプラットフォーム上に存在する必要があります。
-
ソース・プラットフォームとターゲット・プラットフォームのエンディアンが異なる場合、転送するデータを変換してターゲット・プラットフォームの形式にする必要があります。
DBMS_FILE_TRANSFER
パッケージまたはRMAN
CONVERT
コマンドを使用してデータを変換できます。 -
全体トランスポータブル・エクスポートは再開できません。
-
エクスポートのために選択された記憶域を持つすべてのオブジェクトでは、そのすべての記憶域セグメントが、管理対象の非トランスポータブル表領域(
SYSTEM
/SYSAUX
)内に全体として存在するか、ユーザー定義のトランスポータブル表領域内に全体として存在する必要があります。シングル・オブジェクトの記憶域は、2種類の表領域にまたがることはできません。 -
全体トランスポータブル・エクスポートを使用してネットワークを介してデータベースを転送する場合、監査証跡情報自体がユーザー定義の表領域に格納されていると、管理表領域(
SYSTEM
やSYSAUX
など)に格納された表に対して監査を有効にすることはできません。 -
ソース・データベースとターゲット・データベースの両方でOracle Database 12cを実行している場合、全体トランスポータブル・エクスポートを実行するには、データ・ポンプの
VERSION
パラメータを12.0以上に設定するか、COMPATIBLE
データベース初期化パラメータを12.0以上に設定する必要があります。
全体トランスポータブル・エクスポートは、リリース11.2.0.3を実行しているソース・データベースでサポートされます。これを行うには、次の例に示すとおり、データ・ポンプのVERSION
パラメータを12.0以上に設定します。
> expdp user_name FULL=y DUMPFILE=expdat.dmp DIRECTORY=data_pump_dir
TRANSPORTABLE=always VERSION=12.0 LOGFILE=export.log
関連トピック
関連項目:
-
RMAN
CONVERT
コマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 -
全体トランスポータブル・エクスポートの例は、『Oracle Database管理者ガイド』を参照してください。
親トピック: データ・ポンプ・エクスポート・モード
2.2.2.2 スキーマ・モード
スキーマ・エクスポートは、SCHEMAS
パラメータを使用して指定します。これがデフォルトのエクスポート・モードです。
DATAPUMP_EXP_FULL_DATABASE
ロールを所有している場合は、スキーマのリストを指定し、オプションでスキーマ定義およびこれらのスキーマに対するシステム権限を指定できます。DATAPUMP_EXP_FULL_DATABASE
ロールを所有していない場合は、自分のスキーマのみをエクスポートできます。
SYS
スキーマは、エクスポート・ジョブのソース・スキーマとして使用できません。
相互スキーマ参照は、参照されるスキーマがエクスポート対象のスキーマのリストにも指定されないかぎり、エクスポートされません。たとえば、指定されたいずれかのスキーマ内の表にトリガーが定義されていても、そのトリガーが、明示的に指定されていないスキーマ内に常駐している場合はエクスポートされません。これは、指定されたスキーマ内の表に影響を及ぼす外部型定義についても同様です。この場合は、インポート時に、型定義がターゲット・インスタンスにすでに存在している必要があります。
関連トピック
親トピック: データ・ポンプ・エクスポート・モード
2.2.2.3 表モード
表モード・エクスポートは、TABLES
パラメータを使用して指定します。
表モードでは、指定した表、パーティションおよびそれらの依存オブジェクトのみがアンロードされます。所有するスキーマや列のタイプなど、表の作成に必要なすべてのオブジェクトがすでに存在している必要があります。
TRANSPORTABLE=ALWAYS
パラメータとTABLES
パラメータを組み合せて指定すると、オブジェクト・メタデータのみがアンロードされます。実際のデータを移動するには、データ・ファイルをターゲット・データベースにコピーします。これにより、エクスポート時間が短縮されます。異なるリリースまたはプラットフォーム間でデータ・ファイルを移動する場合は、データ・ファイルをOracle Recovery Manager(RMAN)で処理することが必要な場合があります。
自分のスキーマに存在しない表を指定するには、DATAPUMP_EXP_FULL_DATABASE
ロールが必要です。列の型定義は、表モードではエクスポートされません。この場合は、インポート時に、型定義がターゲット・インスタンスにすでに存在している必要があります。また、スキーマ・エクスポートの場合と同様に、相互スキーマ参照もエクスポートされません。
表および表パーティションをリカバリするには、RMANバックアップおよびRMAN RECOVER
TABLE
コマンドも使用できます。このプロセス中に、RMANによって、リカバリされたオブジェクトを含むデータ・ポンプ・エクスポートのダンプ・ファイルが作成(およびオプションでインポート)されます。
関連トピック
関連項目:
プラットフォーム間のデータの移動の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
親トピック: データ・ポンプ・エクスポート・モード
2.2.2.4 表領域モード
表領域エクスポートは、TABLESPACES
パラメータを使用して指定します。
表領域モードでは、指定した表領域内に存在する表のみがアンロードされます。表がアンロードされると、その表の依存オブジェクトもアンロードされます。オブジェクトのメタデータとデータは、両方ともアンロードされます。表領域モードでは、指定した表領域内に表の一部が存在する場合、その表とその表のすべての依存オブジェクトがエクスポートされます。特権ユーザーは、すべての表を取得します。権限のないユーザーは、自分のスキーマ内の表のみを取得します。
関連トピック
親トピック: データ・ポンプ・エクスポート・モード
2.2.2.5 トランスポータブル表領域モード
トランスポータブル表領域エクスポートは、TRANSPORT_TABLESPACES
パラメータを使用して指定します。
トランスポータブル表領域モードでは、指定した表領域セット内にある表のメタデータ(およびその表の依存オブジェクト)のみがエクスポートされます。表領域データ・ファイルは別の操作でコピーされます。次に、トランスポータブル表領域インポートが実行され、メタデータを含むダンプ・ファイルのインポートと、使用するデータ・ファイルの指定が行われます。
トランスポータブル表領域モードでは、指定した表がすべてその表領域に含まれている必要があります。つまり、表領域セット内に定義されているすべての表(およびその索引)のすべての記憶域セグメントも、セット内に含まれている必要があります。表領域セット内に違反が含まれている場合は、エクスポート・ユーティリティが実際にエクスポートを実行することなくすべての問題を識別します。
指定した表領域内にある表の列の型定義がエクスポートおよびインポートされます。これらの型を所有するスキーマが、ターゲット・インスタンスに存在する必要があります。
トランスポータブル表領域エクスポートは、停止すると再開できません。また、トランスポータブル表領域エクスポートには、1を超える並列度は指定できません。
ノート:
トランスポータブル表領域をエクスポートした後、それよりも古いリリース・レベルのデータベースにインポートすることはできません。ターゲット・データベースのリリース・レベルは、ソース・データベース以上である必要があります。
関連トピック
親トピック: データ・ポンプ・エクスポート・モード
2.2.3 ネットワークに関する考慮点
データ・ポンプ・エクスポート・ユーティリティの起動時、接続文字列には接続識別子を指定できます。この識別子では、現行のOracleシステム識別子(SID)によって指定した現行のインスタンスとは別のデータベース・インスタンスを指定できます。
接続識別子には、Oracle*Net接続記述子または接続記述子にマップするネット・サービス名(通常、tnsnames.ora
ファイルで定義される)を指定できます。接続識別子を使用するには、Oracle Net Listenerが実行中であることが必要です(デフォルト・リスナーを起動するには、lsnrctl
start
と入力します)。次に、inst1
が接続識別子である場合のこのタイプの接続の例を示します。
expdp hr@inst1 DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees
エクスポートによってパスワードの入力を要求されます。
Password: password
ローカル・エクスポート・クライアントは接続識別子inst1
(ネット・サービス名)によって定義されるデータベース・インスタンスに接続し、inst1
からデータを取得し、データをinst1
のダンプ・ファイルhr.dmp
に書き込みます。
エクスポート・ユーティリティの起動時に接続識別子を指定することと、NETWORK_LINK
パラメータを使用してエクスポート操作を実行することは異なります。エクスポート操作を開始して接続識別子を指定すると、接続識別子によって識別されたデータベース・インスタンスにローカルのエクスポート・クライアントが接続され、データベース・インスタンスのデータが取得され、そのデータベース・インスタンスのダンプ・ファイル・セットにデータが書き込まれます。一方、NETWORK_LINK
パラメータを使用してエクスポートを実行すると、エクスポートはデータベース・リンクを使用して実行されます。(データベース・リンクとは2つの物理データベース・サーバー間の接続で、データベース・リンクによってクライアントは2つの物理データベース・サーバーに1つの論理データベースとしてアクセスできます。)
関連トピック
関連項目:
-
データベース・リンクの詳細は、Oracle Database管理者ガイドを参照してください。
-
接続識別子およびOracle Net Listenerの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
親トピック: データ・ポンプ・エクスポートの起動
2.3 エクスポート操作中のフィルタ処理
データ・ポンプ・エクスポートには、データとメタデータのフィルタ処理機能が用意されています。
この機能により、エクスポートする情報の種類を効果的に制限できます。
- データ・フィルタ
データ固有のフィルタ処理は、QUERY
およびSAMPLE
パラメータによって実装されます。このパラメータは、表のエクスポートされる行に対する制限を指定します。 - メタデータ・フィルタ
メタデータのフィルタ処理は、EXCLUDE
およびINCLUDE
パラメータによって実装されます。EXCLUDE
およびINCLUDE
は、相互に排他的なパラメータです。
親トピック: データ・ポンプ・エクスポート
2.3.1 データ・フィルタ
データ固有のフィルタ処理は、QUERY
およびSAMPLE
パラメータによって実装されます。このパラメータは、表のエクスポートされる行に対する制限を指定します。
メタデータのフィルタ処理のため、間接的にデータのフィルタ処理が実行される場合もあります。この処理では、表オブジェクトおよび関連付けられた行データを含めたり、除外することができます。
各データ・フィルタは、表ごとにジョブ内で1回指定できます。同じ名前を使用する異なるフィルタが特定の表とジョブ全体の両方に適用された場合は、特定の表に対して提供されたフィルタ・パラメータが優先されます。
親トピック: エクスポート操作中のフィルタ処理
2.3.2 メタデータ・フィルタ
メタデータのフィルタ処理は、EXCLUDE
およびINCLUDE
パラメータによって実装されます。EXCLUDE
およびINCLUDE
は、相互に排他的なパラメータです。
メタデータ・フィルタは、オブジェクトを、エクスポートまたはインポート操作に含めるか除外するかを識別します。たとえば、パッケージ仕様またはパッケージ本体を含まない全体エクスポートを要求できます。
フィルタを正しく使用して必要な結果を得た場合は、識別されたオブジェクトの依存オブジェクトも、識別されたオブジェクトとともに処理されます。たとえば、索引を操作に含めるようにフィルタで指定すると、その索引の統計も含まれます。同様に、フィルタで表を除外すると、その表に対する索引、制約、権限およびトリガーも除外されます。
1つのオブジェクト型に対して複数のフィルタが指定されている場合は、それらのフィルタに対して暗黙的なAND
処理が適用されます。つまり、ジョブに関連するオブジェクトは、オブジェクト型に適用されるすべてのフィルタで処理される必要があります。
同じメタデータ・フィルタ名を、1つのジョブ内で複数回指定できます。
DATABASE_EXPORT_OBJECTS
(全体モードの場合)、SCHEMA_EXPORT_OBJECTS
(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS
(表および表領域モードの場合)ビューを問い合せて、有効なオブジェクト・タイプ値の一覧を表示できます。OBJECT_PATH
列にリストされる値が有効なオブジェクト・タイプです。たとえば、次の問合せを実行できます。
SQL> SELECT OBJECT_PATH, COMMENTS FROM SCHEMA_EXPORT_OBJECTS 2 WHERE OBJECT_PATH LIKE '%GRANT' AND OBJECT_PATH NOT LIKE '%/%';
次に、この問合せの出力結果の例を示します。
OBJECT_PATH -------------------------------------------------------------------------------- COMMENTS -------------------------------------------------------------------------------- GRANT Object grants on the selected tables OBJECT_GRANT Object grants on the selected tables PROCDEPOBJ_GRANT Grants on instance procedural objects PROCOBJ_GRANT Schema procedural object grants in the selected schemas ROLE_GRANT Role grants to users associated with the selected schemas SYSTEM_GRANT System privileges granted to users associated with the selected schemas
親トピック: エクスポート操作中のフィルタ処理
2.4 エクスポート・ユーティリティのコマンドライン・モードで使用可能なパラメータ
この項では、データ・ポンプ・エクスポート・ユーティリティのコマンドライン・モードで使用可能なパラメータについて説明します。
エクスポート・パラメータを使用する前に、必ず次の項を読んでください。
パラメータの説明では、多くの場合パラメータの使用例を含みます。
エクスポート・パラメータの指定
値を複数個指定できるパラメータでは、カンマまたは空白で値を区切ることができます。たとえば、TABLES=employees,jobs
またはTABLES=employees jobs
のように指定できます。
入力するパラメータごとに、等号(=)と値を入力する必要があります。それ以外の方法では、1つ前のパラメータ指定がどこで完了し、新しいパラメータ指定がどこから始まるかをデータ・ポンプに伝えることができません。たとえば、次のコマンドラインの場合、NOLOGFILE
は有効なパラメータですが、DUMPFILE
パラメータに対するダンプ・ファイル名がもう1つあると解釈されます。
expdp DIRECTORY=dpumpdir DUMPFILE=test.dmp NOLOGFILE TABLES=employees
その結果、test.dmp
およびnologfile.dmp
という2つのダンプ・ファイルが作成されることになります。
これを回避するには、NOLOGFILE=YES
またはNOLOGFILE=NO
のいずれかを指定します。
パラメータ値を指定する場合の大/小文字の区別
パラメータ値として入力される表領域名、スキーマ名、表名などについて、Oracle Data Pumpは、小文字または大/小文字混在で入力された値をデフォルトで大文字に変更します。たとえば、TABLE=hr.employees
と入力すると、それはTABLE=HR.EMPLOYEES
に変更されます。大/小文字を維持するには、引用符で値を囲む必要があります。たとえば、TABLE="hr.employees"
とすると、表名がすべて小文字のまま維持されます。入力する名前は、データベースに格納されている名前と完全に一致する必要があります。
データ・ポンプ・コマンドラインでの引用符の使用
一部のオペレーティング・システムでは引用符が特殊文字として処理されるため、バックスラッシュ(\)などのエスケープ文字を前に付けないと、アプリケーションに正しく渡されません。これは、コマンドラインとパラメータ・ファイル内の両方に当てはまります。また、オペレーティング・システムによっては、コマンドラインで、特殊文字を含むパラメータ値全体を一重引用符または二重引用符で囲む必要があります。
次の例では、これらの概念を説明します。特定のオペレーティング・システムに該当しない場合があること、および各ユーザーに固有の運用環境は想定していないことに注意してください。
次のように、パラメータ・ファイルでTABLES
パラメータを指定するとします。
TABLES = \"MixedCaseTableName\"
これをコマンドラインで指定するとき、一部のオペレーティング・システムでは、次のように一重引用符で囲む必要があります。
TABLES = '\"MixedCaseTableName\"'
コマンドラインで追加の引用符を指定せずに手順を続行するには、パラメータ・ファイルを使用することをお薦めします。また、パラメータ・ファイルを使用し、指定するパラメータ値の文字列の最初の文字に引用符を使用しない場合(たとえば、TABLES=scott."EmP"
)は、エスケープ文字の使用が不要になるシステムがあることに注意してください。
エクスポート・パラメータの使用例
各項に示す例を試行する場合は、次の内容に注意してください。
-
例に示すようにユーザー名およびパラメータを入力した後、エクスポート・ユーティリティが起動され、パスワードの入力を求められます。データベース接続が行われる前に、パスワードを入力する必要があります。
-
ここに示す例の多くは、Oracle Databaseのインストール時にデフォルトでインストールされるシード・データベースのサンプル・スキーマを使用しています。特に、人事管理(
hr
)スキーマを頻繁に使用します。 -
この例では、ディレクトリ・オブジェクト
dpump_dir1
およびdpump_dir2
がすでに存在し、これらのディレクトリ・オブジェクトについてのREAD
権限およびWRITE
権限が、hr
ユーザーに付与されているものとします。 -
一部の例では、
DATAPUMP_EXP_FULL_DATABASE
ロールおよびDATAPUMP_IMP_FULL_DATABASE
ロールが必要です。その例では、hr
ユーザーにこれらのロールが付与されているものとします。
必要に応じて、これらのディレクトリ・オブジェクトの作成と、必要な権限やロールの割当てをDBAに依頼します。
特に指定がないかぎり、これらのパラメータはパラメータ・ファイルでも指定できます。
- ABORT_STEP
- ACCESS_METHOD
- ATTACH
- CLUSTER
- COMPRESSION
- COMPRESSION_ALGORITHM
- CONTENT
- DATA_OPTIONS
- DIRECTORY
- DUMPFILE
- ENCRYPTION
- ENCRYPTION_ALGORITHM
- ENCRYPTION_MODE
Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_MODE
パラメータでは、暗号化および復号化を実行する際に使用するセキュリティ・タイプを指定します。 - ENCRYPTION_PASSWORD
Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_PASSWORD
パラメータでは、エクスポート・ダンプ・ファイル内の暗号化列のデータ、メタデータまたは表データを暗号化するためのパスワードを指定します。このパラメータにより、暗号化されたダンプ・ファイル・セットへの不正なアクセスを防ぎます。 - ENCRYPTION_PWD_PROMPT
- ESTIMATE
- ESTIMATE_ONLY
- EXCLUDE
- FILESIZE
- FLASHBACK_SCN
- FLASHBACK_TIME
- FULL
- HELP
- INCLUDE
- JOB_NAME
- KEEP_MASTER
- LOGFILE
- LOGTIME
- METRICS
- NETWORK_LINK
- NOLOGFILE
- PARALLEL
- PARFILE
- QUERY
- REMAP_DATA
- REUSE_DUMPFILES
- SAMPLE
- SCHEMAS
- SERVICE_NAME
- SOURCE_EDITION
- STATUS
- TABLES
- TABLESPACES
- TRANSPORT_FULL_CHECK
- TRANSPORT_TABLESPACES
- TRANSPORTABLE
- VERSION
- VIEWS_AS_TABLES
関連項目:
-
システムでの特殊文字および予約文字の処理方法の詳細は、ご使用のオペレーティング・システム固有のOracleマニュアルを参照してください。
親トピック: データ・ポンプ・エクスポート
2.4.1 ABORT_STEP
デフォルト: NULL
用途
ジョブの初期化後に、そのジョブを停止する場合に使用します。これによって、データのエクスポート前にマスター表の問合せが可能になります。
構文および説明
ABORT_STEP=[n | -1]
指定可能な値は、マスター表内のプロセス・オーダー番号と対応しています。各番号の使用結果は次のとおりです。
-
n: 値が0以上の場合は、エクスポート操作が開始され、対応するプロセス・オーダー番号を持つ、マスター表に格納されているオブジェクトでジョブが中断されます。
-
-1: 値が負の1 (-1)の場合は、ジョブの設定後(ただし、オブジェクトまたはデータのエクスポート前)に、ジョブが中断されます。
制限事項
-
なし
例
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr ABORT_STEP=-1
2.4.2 ACCESS_METHOD
デフォルト: AUTOMATIC
用途
エクスポート・ユーティリティで特定のメソッドを使用してデータをアンロードするように指定します。
構文および説明
ACCESS_METHOD=[AUTOMATIC | DIRECT_PATH | EXTERNAL_TABLE | INSERT_AS_SELECT]
デフォルトのメソッドがなんらかの理由で動作しない場合に別のネイティブ・メソッドを試行できるように、ACCESS_METHOD
パラメータが提供されます。ネットワーク・エクスポートでは、すべての方法を指定できます。指定したアクセス方法で表のデータをアンロードできない場合は、データに表のエラーが表示され、次の作業項目に進みます。
-
AUTOMATIC
: それぞれの表について、データをアップロードする最適な方法がデータ・ポンプによって判断されます。できるだけAUTOMATIC
を使用することをお薦めします。これは、データ・ポンプが最も効果的な方法を自動的に選択できるようになるためです。 -
DIRECT_PATH
: データ・ポンプによって、すべての表に対して、ダイレクト・パス・アンロードが使用されます。 -
EXTERNAL_TABLE
: データ・ポンプによって、SQL文CREATE TABLE AS SELECT
を使用して、ダンプ・ファイルに格納されているデータを使用する外部表が作成されます。SELECT
句では、アンロードする表から読み取ります。 -
INSERT_AS_SELECT
: データ・ポンプによって、SQL文INSERT AS SELECT
が実行され、リモート・データベースからデータがアンロードされます。このオプションは、ネットワーク・モード・エクスポートでのみ使用できます。
制限事項
-
ネットワーク・エクスポートで
ACCESS_METHOD
パラメータを使用するには、Oracle Database 12c
リリース2 (12.2.0.1)以上を使用している必要があります。 -
データ・ポンプ・エクスポートの
ACCESS_METHOD
パラメータは、トランスポータブル表領域のジョブに対して有効ではありません。
例
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr ACCESS_METHOD=EXTERNAL_TABLE
2.4.3 ATTACH
デフォルト: ユーザーのスキーマで現在実行されているジョブ(存在する場合)
用途
構文および説明
ATTACH [=[schema_name.]job_name]
schema_name
は、オプションです。自分のスキーマ以外のスキーマを指定するには、DATAPUMP_EXP_FULL_DATABASE
ロールが必要です。
job_name
は、スキーマに対応するエクスポート・ジョブが1つのみで、そのジョブがアクティブの場合はオプションです。停止しているジョブに接続する場合は、このジョブ名を指定する必要があります。DBA_DATAPUMP_JOBS
ビューまたはUSER_DATAPUMP_JOBS
ビューを問い合せて、データ・ポンプ・ジョブ名の一覧を表示できます。
ジョブに接続している場合、エクスポート・ユーティリティでは、ジョブの説明が表示され、次にエクスポート・プロンプトが表示されます。
制限事項
-
ATTACH
パラメータを指定する場合、コマンドラインで他に指定できるデータ・ポンプ・パラメータは、ENCRYPTION_PASSWORD
のみです。 -
接続するジョブが最初に暗号化パスワードを使用して起動している場合、そのジョブへの接続時に、コマンドライン上の
ENCRYPTION_PASSWORD
パラメータを再入力してそのパスワードを再指定する必要があります。唯一の例外は、ジョブが最初にENCRYPTION=ENCRYPTED_COLUMNS_ONLY
パラメータを使用して開始されている場合です。この場合、ジョブへの接続時に暗号化パスワードは必要ありません。 -
そのジョブが実行中でなければ、別のスキーマのジョブに接続することはできません。
-
ジョブのダンプ・ファイル・セットまたはマスター表が削除されている場合、接続操作は失敗します。
-
マスター表を変更すると、それがどのような変更であっても、予期しない結果になります。
例
次に、ATTACH
パラメータの使用例を示します。ジョブhr.export_job
がすでに存在するものとします。
> expdp hr ATTACH=hr.export_job
2.4.4 CLUSTER
デフォルト: YES
用途
データ・ポンプでOracle Real Application Clusters(Oracle RAC)リソースを使用できるかどうかと、ワーカーを他のOracle RACインスタンス上で開始できるかどうかを決定します。
構文および説明
CLUSTER=[YES | NO]
データ・ポンプ・エクスポートで、ジョブが開始されたインスタンスのみを使用し、Oracle Database 11g リリース2(11.2)より前の動作と同じにするには、CLUSTER=NO
を指定します。
特定の既存サービスを指定しワーカー・プロセスを制約して、そのサービスに対して定義されたインスタンス上のみでこれらを実行できるようにするには、CLUSTER=Y
ESパラメータとSERVICE_NAME
パラメータを組み合せて使用します。
CLUSTER
パラメータを使用すると、エクスポート・ジョブをOracle RACインスタンス全体に分散させるための追加のオーバーヘッドが発生するため、パフォーマンスに影響する場合があります。ジョブが小さいときは、CLUSTER=NO
を指定して、ジョブが開始されたインスタンス上のみでジョブを実行した方がよい場合もあります。CLUSTER
パラメータを使用してジョブのパフォーマンスが最もよくなるのは、ジョブのデータ量が多い場合です。
例
次に、CLUSTER
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_clus%U.dmp CLUSTER=NO PARALLEL=3
この例では、hr
スキーマのスキーマ・モード・エクスポート(デフォルト)を実行します。CLUSTER=NO
が指定されているため、ジョブでは起動時のインスタンスのみが使用されます。(CLUSTER
パラメータが指定されていない場合は、デフォルト値のY
が使用され、必要に応じて、Oracle RACの他のインスタンス上で動作が開始されます。)ダンプ・ファイルは、dpump_dir1
ディレクトリ・オブジェクトに指定された場所に書き込まれます。ジョブでは、パラレル処理を最大3つまで実行できます。
2.4.5 COMPRESSION
デフォルト: METADATA_ONLY
用途
ダンプ・ファイル・セットに書き込む前に圧縮するデータを指定します。
構文および説明
COMPRESSION=[ALL | DATA_ONLY | METADATA_ONLY | NONE]
-
ALL
を指定すると、エクスポート操作全体について圧縮が有効になります。ALL
オプションでは、Oracle Advanced Compressionオプションを有効にする必要があります。 -
DATA_ONLY
を指定すると、すべてのデータが圧縮形式でダンプ・ファイルに書き込まれます。DATA_ONLY
オプションでは、Oracle Advanced Compressionオプションを有効にする必要があります。 -
METADATA_ONLY
を指定すると、すべてのメタデータが圧縮形式でダンプ・ファイルに書き込まれます。これはデフォルトです。 -
NONE
を指定すると、エクスポート操作全体について圧縮が無効になります。
制限事項
-
これらすべての圧縮オプションを使用するには、
COMPATIBLE
初期化パラメータを11.0.0以上に設定する必要があります。 -
METADATA_ONLY
オプションは、たとえCOMPATIBLE
初期化パラメータが10.2に設定されていても使用できます。 -
ALL
またはDATA_ONLY
を使用したデータ圧縮は、Oracle Database 11g以上のEnterprise Editionでのみ有効で、Oracle Advanced Compressionオプションを有効にする必要があります。
例
次に、COMPRESSION
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_comp.dmp COMPRESSION=METADATA_ONLY
このコマンドは、スキーマ・モードのエクスポートを実行し、すべてのメタデータを圧縮してからダンプ・ファイルhr_comp.dmp
に書き出します。エクスポート・モードが指定されていないため、デフォルトでスキーマ・モードのエクスポートになります。
関連項目:
Oracle Advanced Compressionオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。
2.4.6 COMPRESSION_ALGORITHM
デフォルト: BASIC
用途
構文および説明
COMPRESSION_ALGORITHM = {BASIC | LOW | MEDIUM | HIGH}
パラメータ・オプションの定義は次のとおりです。
-
BASIC
: 圧縮率と速度の適度な組合せが実現し、使用されるアルゴリズムはOracle Data Pumpの以前のバージョンと同じです。 -
LOW
: エクスポート・スループットへの影響を最小限に抑えるため、CPUリソースが限定要因となっている環境に適しています。 -
MEDIUM
: ほとんどの環境に適しています。このオプションはBASIC
オプションと同様、圧縮率と処理速度を加味したよい組合せですが、BASIC
とは異なるアルゴリズムが使用されています。 -
HIGH
: ネットワーク速度が限定要因となっている、速度が遅いネットワークでダンプ・ファイルがコピーされる状況に最適です。
圧縮アルゴリズムのパフォーマンスは、そのCPU使用量および圧縮率(非圧縮の入力に対する割合としての圧縮済の出力のサイズ)によって特徴付けられます。これらの測定値は、使用される圧縮アルゴリズムの速度に加え、入力のサイズおよびタイプに応じて変化します。基本的に圧縮率はLOWからHIGHへと高くなります。ただし、圧縮率の上昇に応じて、消費されるCPUリソースが多くなります。
ご使用の環境で、データに対して様々な圧縮レベルをテストすることをお薦めします。エクスポートされるダンプ・ファイル・セットの圧縮レベルがパフォーマンスおよび記憶域要件を満たすようにするには、環境、ワークロードの特性、およびデータのサイズとタイプに基づいて圧縮レベルを選択します。
制限事項
-
この機能を使用するには、データベース互換性を12.0.0以上に設定する必要があります。
-
この機能では、Oracle Advanced Compressionオプションを有効にする必要があります。
例1
この例では、HR
スキーマのスキーマ・モード・アンロードを実行し、低い圧縮レベルの圧縮アルゴリズムを使用して表データのみを圧縮します。これにより、最適な圧縮率を得ることはできませんが、使用されるCPUリソースの数を抑えることができます。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp COMPRESSION=DATA_ONLY COMPRESSION_ALGORITHM=LOW
例2
この例では、HR
スキーマのスキーマ・モード・アンロードを実行し、基本の圧縮レベルを使用してメタデータと表データの両方を圧縮します。COMPRESSION_ALGORITHM
パラメータを完全に省略することは、値としてBASIC
を指定することと同じです。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp COMPRESSION=ALL COMPRESSION_ALGORITHM=BASIC
2.4.7 CONTENT
デフォルト: ALL
用途
構文および説明
CONTENT=[ALL | DATA_ONLY | METADATA_ONLY]
-
ALL
を指定すると、データとメタデータの両方がアンロードされます。これはデフォルトです。 -
DATA_ONLY
を指定すると、表の行データのみがアンロードされます。データベース・オブジェクト定義はアンロードされません。 -
METADATA_ONLY
を指定すると、データベース・オブジェクト定義のみがアンロードされ、表の行データはアンロードされません。CONTENT=METADATA_ONLY
を指定した場合、ダンプ・ファイルが後でインポートされるときに、ダンプ・ファイルからインポートされる索引または表の統計はインポート後にロックされることに注意してください。
制限事項
-
CONTENT=METADATA_ONLY
パラメータは、TRANSPORT_TABLESPACES
(トランスポータブル表領域モード)パラメータまたはQUERY
パラメータと組み合せて使用することはできません。
例
次に、CONTENT
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp CONTENT=METADATA_ONLY
このコマンドでは、hr
のスキーマに関連付けられたメタデータのみをアンロードするスキーマ・モード・エクスポートが実行されます。エクスポート・モードが指定されていない場合は、デフォルトでhr
のスキーマのスキーマ・モード・エクスポートになります。
2.4.8 DATA_OPTIONS
デフォルト: デフォルト値は設定されていません。このパラメータが使用されていない場合、このパラメータが提供する特別なデータ処理オプションは無効になります。
用途
DATA_OPTIONS
パラメータは、エクスポート操作時に特定のタイプのデータをどのように処理するかを指定します。
構文および説明
DATA_OPTIONS= [XML_CLOBS | GROUP_PARTITION_TABLE_DATA | VERIFY_STREAM_FORMAT]
-
XML_CLOBS
:XMLType
列を、列に対して定義されているXMLType
の格納形式に関係なく非圧縮のCLOB
形式でエクスポートすることを指定します。ノート:
CLOB
として格納されるXMLType
は、Oracle Database 12cリリース1 (12.1)からは非推奨になりました。XMLType
表および列は、現在はバイナリXMLとして格納されます。表に、
CLOB
形式で格納されるXMLType
列のみがある場合は、データ・ポンプによって、これらの列が自動的にCLOB
形式でエクスポートされるため、XML_CLOBS
オプションを指定する必要はありません。表にオブジェクトリレーショナル(スキーマベース)、バイナリまたはCLOB
形式の組合せで格納されているXMLType
列がある場合、デフォルトで、これらの列はデータ・ポンプにより圧縮形式でエクスポートされます。この方法を使用することをお薦めします。ただし、データを非圧縮のCLOB
形式でエクスポートする必要がある場合は、XML_CLOBS
オプションを使用してデフォルトの設定を上書きできます。 -
GROUP_PARTITION_TABLE_DATA
: 各表パーティションを別々の操作としてアンロードするのではなく、1つの操作ですべての表データをアンロードするように、データ・ポンプに指示します。その結果、インポート時に表の定義は考慮されません(インポートでは表全体にロードされる1つのデータ・パーティションが参照されるため)。 -
VERIFY_STREAM_FORMAT
: データ・ストリームがデータ・ポンプ・ダンプ・ファイルに書き込まれる前に、データ・ストリームの形式を検査します。この検証では、ストリームが生成されてからディスクに書き込まれる前に、有効な形式かどうかがチェックされます。これにより、ダンプ・ファイル作成時のエラーがなくなるため、インポート時にストリームが読み取られる際のエラーも回避できます。
制限事項
-
XML_CLOBS
オプションを使用するには、エクスポート時とインポート時の両方で同じXMLスキーマを使用する必要があります。 -
エクスポート・ユーティリティの
DATA_OPTIONS
パラメータを使用する場合は、ジョブ・バージョンを11.0.0
以上に設定する必要があります。「VERSION」を参照してください。
例
この例では、hr.xdb_tab1
表のXMLType
列を、列に対して定義されているXMLType
の格納形式に関係なく、非圧縮のCLOB
形式でエクスポートするエクスポート操作を示します。
> expdp hr TABLES=hr.xdb_tab1 DIRECTORY=dpump_dir1 DUMPFILE=hr_xml.dmp VERSION=11.2 DATA_OPTIONS=XML_CLOBS
関連項目:
XMLType
表のエクスポートおよびインポートに固有の情報については、『Oracle XML DB開発者ガイド』を参照してください。
2.4.9 DIRECTORY
デフォルト: DATA_PUMP_DIR
用途
エクスポート・ユーティリティによるダンプ・ファイル・セットおよびログ・ファイルのデフォルトの書込み先を指定します。
構文および説明
DIRECTORY=directory_object
directory_object
は、データベースのディレクトリ・オブジェクトの名前です(実際のディレクトリのファイル・パスではありません)。特権ユーザーにDATA_PUMP_DIR
という名前のデフォルトのディレクトリ・オブジェクトへのアクセス権が付与されます。DATA_PUMP_DIR
ディレクトリの定義は、アップグレード時またはパッチの適用時にOracleによって変更されることがあります。
デフォルトのDATA_PUMP_DIR
ディレクトリ・オブジェクトにアクセス可能なユーザーは、DIRECTORY
パラメータを使用する必要はありません。
DUMPFILE
パラメータやLOGFILE
パラメータで指定したディレクトリ・オブジェクトは、DIRECTORY
パラメータに指定したディレクトリ・オブジェクトよりも優先されます。
例
次に、DIRECTORY
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=employees.dmp CONTENT=METADATA_ONLY
ダンプ・ファイルemployees
.dmp
は、ディレクトリ・オブジェクトdpump_dir1
に対応付けられたパスに書き込まれます。
関連項目:
-
デフォルトのディレクトリ・オブジェクト、およびデータ・ポンプがファイルの位置を判断するために使用する優先順位の詳細は、「ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置」を参照してください
-
CREATE
DIRECTORY
コマンドの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
2.4.10 DUMPFILE
デフォルト: expdat
.dmp
用途
構文および説明
DUMPFILE=[directory_object:]file_name [, ...]
DIRECTORY
パラメータで指定されている場合、directory_object
はオプションです。ここで値を指定する場合は、すでに存在しアクセス権があるディレクトリ・オブジェクトを指定します。DUMPFILE
パラメータの一部に指定されるデータベース・ディレクトリ・オブジェクトは、DIRECTORY
パラメータによって指定された値またはデフォルトのディレクトリ・オブジェクトよりも優先されます。
カンマで区切ったリストまたは個別のDUMPFILE
パラメータ指定で、複数のfile_name
指定を定義できます。ファイル拡張子を指定しない場合は、デフォルトのファイル拡張子.dmp
が使用されます。ファイル名には置換変数を含めることができます。次の表に、使用可能な置換変数を示します。
置換変数 | 意味 |
---|---|
%U |
生成されるファイル名では、置換変数が、01から99まで増加する固定幅の2桁の整数に変換されます。ファイル指定に2つの置換変数が含まれている場合は、両方の変数が同時に増加します。たとえば、exp%Uaa%U.dmp は、exp01aa01.dmp 、exp02aa02.dmp というように変換されます。
|
%d 、%D |
グレゴリオ暦による月の現在の日付をDD 形式で指定します。
ノート: この置換変数はインポート・ファイル名には使用できません。 |
%m 、%M |
グレゴリオ暦による月をMM 形式で指定します。
ノート: この置換変数はインポート・ファイル名には使用できません。 |
%t 、%T |
グレゴリオ暦による年、月および日をYYYYMMDD 形式で指定します。
ノート: この置換変数はインポート・ファイル名には使用できません。 |
%l 、%L |
システムによって生成される一意のファイル名を指定します。
ファイル名には、複数のファイルを生成できることを示す置換変数( たとえば、現在の整数が1の場合、
exp%Laa%L.dmp は次のように解決されます。
以降、99までは同様に続きます。その次のファイル名では3桁に置換されます。
以降、999まで同様に続き、その次のファイルでは4桁に置換されます。最大許容置換数(2147483646)まで、置換が続きます。 |
%y 、%Y |
年をYYYY形式で指定します。
ノート: この置換変数はインポート・ファイル名には使用できません。 |
FILESIZE
パラメータを指定すると、各ダンプ・ファイルがそのサイズを上限とするため、拡張できなくなります。置換変数を持つテンプレートを指定していて、ダンプ・ファイル・セットに必要な領域が不足し、デバイスに余裕がある場合は、FILESIZE
パラメータで指定したサイズの新しいダンプ・ファイルが自動的に作成されます。
置換変数が含まれているファイル指定またはファイル・テンプレートは、定義されているとおり、完全修飾されたファイル名としてインスタンス化され、エクスポート・ユーティリティによって作成されます。ファイル指定は、指定した順序で処理されます。ファイル・サイズが上限に達したか、またはパラレル処理をアクティブなままにするためにジョブにファイルを追加する必要がある場合、置換変数を持つファイル・テンプレートが指定されていれば、追加のファイルが作成されます。
DUMPFILE
パラメータで複数のファイルを指定することもできますが、エクスポート・ジョブでエクスポート・データを保持するために必要となるのは、それらのファイルのサブセットのみの場合もあります。エクスポート・ジョブの最後に表示されるダンプ・ファイル・セットには、実際に使用されたファイルが示されます。このダンプ・ファイル・セットを使用するインポート操作には、このファイル・リストが必要になります。使用されなかったファイルは無視してかまいません。
DUMPFILE
パラメータを指定する場合、置換変数を使用するかどうかに関係なく、ファイル名の競合が発生する可能性があります。ファイル名の競合が発生するexpdpコマンドのいくつかの例を次に示します。これらのすべての例で、「ORA-27308 作成したファイルはすでに存在します」
というエラーが返されます。
expdp system/manager directory=dpump_dir schemas=hr DUMPFILE=foo%U.dmp,foo%U.dmp
expdp system/manager directory=dpump_dir schemas=hr DUMPFILE=foo%U.dmp,foo%L.dmp
expdp system/manager directory=dpump_dir schemas=hr DUMPFILE=foo%U.dmp,foo%D.dmp
expdp system/manager directory =dpump_dir schemas=hr DUMPFILE=foo%tK_%t_%u_%y_P,foo%TK_%T_%U_%Y_P
制限事項
-
作成されるダンプ・ファイルの名前がすでに存在しているダンプ・ファイルの名前と一致するとエラーが生成されます。既存のダンプ・ファイルが上書きされることはありません。この動作を上書きするには、エクスポート・ユーティリティのパラメータ
REUSE_DUMPFILES=YES
を指定します。 -
データ・ポンプのパラメータ
VERSION=12
を使用してOracle Database 11gリリースで作成したダンプ・ファイルは、Oracle Database 12cリリース1 (12.1)以上でのみインポートできます。
例
次に、DUMPFILE
パラメータの使用例を示します。
> expdp hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=dpump_dir2:exp1.dmp, exp2%U.dmp PARALLEL=3
ダンプ・ファイルexp1
.dmp
は、ディレクトリ・オブジェクトdpump_dir2
に対応するパスに書き込まれます。これは、dpump_dir2
が、ダンプ・ファイル名の一部として指定されたことによって、DIRECTORY
パラメータで指定されたディレクトリ・オブジェクトよりも優先されるためです。3つのパラレル処理のすべてに、このジョブの間に実行する作業が与えられるため、指定した置換変数exp2%U.dmp
に基づいて、exp201.dmp
およびexp202.dmp
という名前のダンプ・ファイルが作成されます。ディレクトリが指定されていないため、作成されたファイルは、DIRECTORY
パラメータで指定されたディレクトリ・オブジェクトdpump_dir1
に関連付けられたパスに書き込まれます。
関連項目:
-
ダンプ・ファイル名に置換変数を指定する場合の置換変数の処理方法の詳細は、「置換変数の使用」を参照してください
2.4.11 ENCRYPTION
デフォルト: デフォルト値は、使用される暗号化関連のパラメータの組合せによって決まります。暗号化を有効にするには、ENCRYPTION
またはENCRYPTION_PASSWORD
パラメータ、あるいは両方を指定する必要があります。
ENCRYPTION_PASSWORD
パラメータのみが指定されている場合は、デフォルトでENCRYPTION
パラメータがALL
に設定されます。
ENCRYPTION
パラメータのみが指定され、Oracle暗号化ウォレットがオープン状態の場合、デフォルト・モードはTRANSPARENT
になります。ENCRYPTION
パラメータのみが指定され、ウォレットが閉じられている場合は、エラーが返されます。
ENCRYPTION
とENCRYPTION_PASSWORD
のいずれも指定しない場合、ENCRYPTION
のデフォルト値はNONE
となります。
用途
ダンプ・ファイル・セットに書き込む前にデータを暗号化するかどうかを指定します。
構文および説明
ENCRYPTION = [ALL | DATA_ONLY | ENCRYPTED_COLUMNS_ONLY | METADATA_ONLY | NONE]
-
ALL
を指定すると、エクスポート操作ですべてのデータおよびメタデータについて暗号化が有効になります。 -
DATA_ONLY
を指定すると、データのみが暗号化形式でダンプ・ファイル・セットに書き込まれます。 -
ENCRYPTED_COLUMNS_ONLY
を指定すると、暗号化された列のみが暗号化形式でダンプ・ファイル・セットに書き込まれます。列にはすでに割り当てられた暗号化形式があり、定義によって列が保持できる暗号化形式は1つのみであるため、このオプションをENCRYPTION_ALGORITHM
パラメータと組み合せて使用することはできません。ENCRYPTED_COLUMNS_ONLY
オプションを使用するには、Oracle Advanced Securityのデータの透過的な暗号化(TDE)を有効にする必要があります。TDEの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 -
METADATA_ONLY
を指定すると、メタデータのみが暗号化形式でダンプ・ファイル・セットに書き込まれます。 -
NONE
を指定すると、データは暗号化形式でダンプ・ファイル・セットに書き込まれません。
暗号化に関するSecureFilesの考慮点
エクスポート対象のデータに暗号化の必要なSecureFilesが含まれている場合は、ENCRYPTION=ALL
を指定してダンプ・ファイル・セット全体を暗号化する必要があります。ダンプ・ファイル・セット全体の暗号化は、データ・ポンプ・エクスポート操作中にSecureFilesの暗号化セキュリティを実現する唯一の方法です。SecureFilesの詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。
暗号化に関するOracle Database Vaultの考慮点
エクスポート操作が起動されると、データ・ポンプによって、Oracle Database Vaultが有効であるかどうかが確認されます。それが有効であり、ダンプ・ファイルの暗号化がジョブに指定されていない場合、セキュアなデータがセキュアではない方法(クリア・テキスト)でダンプ・ファイル・セットに書き込まれていることを示す警告メッセージが返されます。
ORA-39327: Oracle Database Vault data is being stored unencrypted in dump file set
現在のエクスポート操作を中断し、出力ダンプ・ファイル・セットを暗号化するように指定して新しい操作を開始できます。
制限事項
-
ALL
、DATA_ONLY
またはMETADATA_ONLY
の各オプションを指定するには、COMPATIBLE
初期化パラメータを11.0.0以上に設定する必要があります。 -
このパラメータは、Oracle Database 11g以上のEnterprise Editionでのみ有効です。
-
データ・ポンプの暗号化機能を使用するには、Oracle Advanced Securityオプションが有効である必要があります。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。
例
次の例では、ダンプ・ファイルでデータのみが暗号化されるエクスポート操作を実行します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc.dmp JOB_NAME=enc1 ENCRYPTION=data_only ENCRYPTION_PASSWORD=foobar
2.4.12 ENCRYPTION_ALGORITHM
デフォルト: AES128
用途
暗号化の実行に使用する必要のある暗号化アルゴリズムを指定します。
構文および説明
ENCRYPTION_ALGORITHM = [AES128 | AES192 | AES256]
暗号化アルゴリズムの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。
制限事項
-
この暗号化機能を使用するには、
COMPATIBLE
初期化パラメータを11.0.0以上に設定する必要があります。 -
ENCRYPTION_ALGORITHM
パラメータを使用する場合は、ENCRYPTION
またはENCRYPTION_PASSWORD
パラメータも指定する必要があります。指定しないと、エラーが返されます。 -
すでに暗号化されている列に追加の暗号化形式を割り当てることはできないため、
ENCRYPTION_ALGORITHM
パラメータをENCRYPTION=ENCRYPTED_COLUMNS_ONLY
と組み合せて使用することはできません。 -
このパラメータは、Oracle Database 11g以上のEnterprise Editionでのみ有効です。
-
データ・ポンプの暗号化機能を使用するには、Oracle Advanced Securityオプションが有効である必要があります。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。
例
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc3.dmp ENCRYPTION_PASSWORD=foobar ENCRYPTION_ALGORITHM=AES128
2.4.13 ENCRYPTION_MODE
Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_MODE
パラメータでは、暗号化および復号化を実行する際に使用するセキュリティ・タイプを指定します。
デフォルト
デフォルト・モードは、使用されるその他の暗号化関連パラメータによって異なります。ENCRYPTION
パラメータのみが指定され、Oracle暗号化ウォレットがオープン状態の場合、デフォルト・モードはTRANSPARENT
になります。ENCRYPTION
パラメータのみが指定され、ウォレットが閉じられている場合は、エラーが返されます。
ENCRYPTION_PASSWORD
パラメータが指定され、ウォレットがオープン状態の場合、デフォルト設定はDUAL
になります。ENCRYPTION_PASSWORD
パラメータが指定され、ウォレットが閉じられている場合、デフォルト設定はPASSWORD
になります。
用途
暗号化および復号化を実行する際に使用するセキュリティ・タイプを指定します。
構文および説明
ENCRYPTION_MODE = [DUAL | PASSWORD | TRANSPARENT]
DUAL
モードでは、後から透過的にインポートしたり、デュアルモードで暗号化されたダンプ・ファイル・セットの作成時に使用したパスワードを指定してインポートすることができるダンプ・ファイル・セットを作成します。DUAL
モードで作成されたダンプ・ファイル・セットを後からインポートするときは、ウォレットまたはENCRYPTION_PASSWORD
パラメータで指定されたパスワードのいずれかを使用できます。DUAL
モードは、ウォレットを使用する場合にはダンプ・ファイル・セットのインポートをオンサイトで行い、ウォレットが使用できない場合にはオフサイトでインポートを行う必要もある場合に最適です。
PASSWORD
モードでは、暗号化されたダンプ・ファイル・セットの作成時にパスワードを指定する必要があります。ダンプ・ファイル・セットをインポートするときは同じパスワードを指定する必要があります。PASSWORD
モードでは、ENCRYPTION_PASSWORD
パラメータを指定する必要もあります。PASSWORD
モードは、ダンプ・ファイル・セットが別のデータベースやリモート・データベースにインポートされるときに、転送中もセキュリティで保護する必要がある場合に最適です。
TRANSPARENT
モードでは、必要なウォレットを使用できる場合、暗号化されるダンプ・ファイル・セットをデータベース管理者(DBA)の介入なしで作成できます。したがって、ENCRYPTION_PASSWORD
パラメータは必要ありません。実際、このパラメータをTRANSPARENT
モードで使用すると、エラーが発生します。この暗号化モードは、ダンプ・ファイル・セットをエクスポート元と同じデータベースにインポートする場合に最適です。
制限事項
-
DUAL
またはTRANSPARENT
モードを使用するには、COMPATIBLE
初期化パラメータを11.0.0以上に設定する必要があります。 -
ENCRYPTION_MODE
パラメータを使用する場合は、ENCRYPTION
またはENCRYPTION_PASSWORD
パラメータのいずれかを使用する必要もあります。そうでない場合は、エラーが戻されます。 -
ENCRYPTION=ENCRYPTED_COLUMNS_ONLY
を使用する場合は、ENCRYPTION_MODE
パラメータを使用できません。そうでない場合は、エラーが戻されます。 -
このパラメータは、Oracle Database 11g以上のEnterprise Editionでのみ有効です。
-
DUAL
モードまたはTRANSPARENT
モードを使用するには、Oracle Advanced Securityオプションが有効である必要があります。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。
例
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc4.dmp
ENCRYPTION=all ENCRYPTION_PASSWORD=secretwords
ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_MODE=DUAL
関連トピック
2.4.14 ENCRYPTION_PASSWORD
Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_PASSWORD
パラメータでは、エクスポート・ダンプ・ファイル内の暗号化列のデータ、メタデータまたは表データを暗号化するためのパスワードを指定します。このパラメータにより、暗号化されたダンプ・ファイル・セットへの不正なアクセスを防ぎます。
デフォルト: デフォルト値は設定されていません。ユーザーが値を指定します。
用途
エクスポート・ダンプ・ファイル内の暗号化列のデータ、メタデータまたは表データを暗号化するためのパスワードを指定します。このパラメータを使用することにより、暗号化されたダンプ・ファイル・セットへの不正なアクセスを防ぎます。
ノート:
Oracle Data Pumpの暗号化機能は、Oracle Database 11gリリース1 (11.1)で変更されています。リリース11.1より前は、ENCRYPTION_PASSWORD
パラメータが適用されるのは暗号化列のみでした。しかし、リリース11.1では、新しいENCRYPTION
パラメータが他のタイプのデータを暗号化するためのオプションを提供するようになりました。この変更により、ENCRYPTION
と固有のオプションを指定せずにENCRYPTION_PASSWORD
を指定すると、ダンプ・ファイルに書き込まれるすべてのデータが暗号化されるようになりました(ENCRYPTION=ALL
を指定した場合と同じ)。暗号化列のみを再暗号化するには、ENCRYPTION_PASSWORD
に加えてENCRYPTION=ENCRYPTED_COLUMNS_ONLY
を指定する必要があります。
構文および説明
ENCRYPTION_PASSWORD = password
指定するpassword
値は、暗号化された表の列、メタデータまたは表データをダンプ・ファイル・セットにクリア・テキストとして書き込まないように、再度暗号化するキーを指定します。エクスポート操作に暗号化された表の列が含まれていて、暗号化パスワードが指定されていない場合、暗号化された列はダンプ・ファイル・セットにクリア・テキストで書き込まれ、警告が発行されます。
入力したパスワードは画面に表示されます。パスワードを入力時に画面に表示しない場合、ENCRYPTION_PWD_PROMPT
パラメータを使用します。
暗号化パスワードに許容される最大長は、通常は128バイトです。ただし、ENCRYPTION=ENCRYPTED_COLUMNS_ONLY
であり、VERSION
パラメータまたはデータベース互換性のいずれかが12.2未満に設定されている場合、制限は30バイトになります。
エクスポート操作については、ENCRYPTION_MODE
パラメータがPASSWORD
またはDUAL
に設定されている場合に、このパラメータが必要になります。
ノート:
データ・ポンプのENCRYPTION_PASSWORD
パラメータで指定されるキーと、暗号化された列が含まれる表が最初に作成されるときにENCRYPT
キーワードで指定されるキーとの間には、関連性も依存性もありません。たとえば、次のように、キーがxyz
の暗号化列を持つ表を作成するとします。
CREATE TABLE emp (col1 VARCHAR2(256) ENCRYPT IDENTIFIED BY "xyz");
emp
表をエクスポートするときは、ENCRYPTION_PASSWORD
に任意の値を指定できます。xyz
である必要はありません。
制限事項
-
このパラメータは、Oracle Database 11g以上のEnterprise Editionでのみ有効です。
-
全体トランスポータブル・エクスポートで、暗号化された表領域および暗号化された列が存在する表を含む表領域を転送する場合、
ENCRYPTION_PASSWORD
パラメータが必要です。 -
Oracle Data Pumpの暗号化機能を使用するには、Oracle Advanced Securityオプションが有効である必要があります。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。
-
全体トランスポータブル・エクスポートで、暗号化された表領域および暗号化された列が存在する表を含む表領域を転送する場合、
ENCRYPTION_PASSWORD
パラメータが必要です。 -
ENCRYPTION_PASSWORD
を指定して、ENCRYPTION_MODE
を指定しない場合は、ENCRYPTION_MODE
のデフォルトがPASSWORD
になるため、Oracle Advanced Securityのデータの透過的データ暗号化を有効にする必要はありません。 -
要求された暗号化モードが
TRANSPARENT
の場合、ENCRYPTION_PASSWORD
パラメータは無効です。 -
ENCRYPTION_MODE
がDUAL
に設定されている場合、ENCRYPTION_PASSWORD
パラメータを使用するには、Oracle Advanced Securityの透過的データ暗号化(TDE)を有効にする必要があります。TDEの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 -
ネットワーク・エクスポートの場合、
ENCRYPTION_PASSWORD
パラメータとENCRYPTION=ENCRYPTED_COLUMNS_ONLY
の併用は、暗号化された列を含むユーザー定義の外部表ではサポートされていません。表はスキップされ、エラー・メッセージが表示されますが、ジョブは続行します。 -
すべての列に対する暗号化属性は、エクスポートされた表の定義とターゲット表で一致している必要があります。たとえば、
EMP
表にEMPNO
という列があるとします。次のいずれのシナリオも、ソース表のEMP
列の暗号化属性が、ターゲット表のEMP
列の暗号化属性と一致していないためエラーになります。-
EMPNO
列を暗号化してEMP
表をエクスポートし、表をインポートする前にEMPNO
列から暗号化属性を削除する。 -
EMPNO
列を暗号化せずにEMP
表をエクスポートし、表をインポートする前にEMPNO
列の暗号化を有効にする。
-
例
次の例では、暗号化パスワード123456
がダンプ・ファイルdpcd2be1.dmp
に割り当てられています。
> expdp hr TABLES=employee_s_encrypt DIRECTORY=dpump_dir1
DUMPFILE=dpcd2be1.dmp ENCRYPTION=ENCRYPTED_COLUMNS_ONLY
ENCRYPTION_PASSWORD=123456
employee_s_encrypt
表の暗号化列は、dpcd2be1.dmp
ダンプ・ファイルにクリア・テキストとして書き込まれません。その後、この例で作成したdpcd2be1.dmp
ファイルをインポートする場合は、同じ暗号化パスワードを指定する必要があります。
2.4.15 ENCRYPTION_PWD_PROMPT
デフォルト: NO
用途
構文および説明
ENCRYPTION_PWD_PROMPT=[YES | NO]
コマンドラインでENCRYPTION_PWD_PROMPT=YES
と指定すると、ENCRYPTION_PASSWORD
パラメータを使用してコマンドラインでパスワードを入力するかわりに、データ・ポンプによって暗号化パスワードの入力を要求されます。この方法のメリットは、プロンプトで入力すると、暗号化パスワードが画面に表示されないことです。これに対し、ENCRYPTION_PASSWORD
パラメータを使用してコマンドラインで入力すると、それがプレーン・テキストで表示されます。
プロンプトで入力する暗号化パスワードは、ENCRYPTION_PASSWORD
パラメータで説明されているものと同じ基準に従います。
エクスポート操作で暗号化パスワードを指定した場合、インポート操作でもそれを指定する必要があります。
制限事項
-
ENCRYPTION_PWD_PROMPT
パラメータとENCRYPTION_PASSWORD
パラメータの同時使用は禁止されています。
例
次の例では、データ・ポンプによって最初にユーザー・パスワードが要求され、次に暗号化パスワードが要求されます。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp ENCRYPTION_PWD_PROMPT=YES . . . Copyright (c) 1982, 2016, Oracle and/or its affiliates. All rights reserved. Password: Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Encryption Password: Starting "HR"."SYS_EXPORT_SCHEMA_01": hr/******** directory=dpump_dir1 dumpfile=hr.dmp encryption_pwd_prompt=Y . . .
2.4.16 ESTIMATE
デフォルト: BLOCKS
用途
エクスポート・ジョブ内の各表で使用されるディスク領域(バイト単位)を見積もる場合にエクスポートで使用される方法を指定します。見積りはログ・ファイルに出力され、クライアントの標準出力デバイスに表示されます。見積りの対象は、表の行データのみです。メタデータは含まれません。
構文および説明
ESTIMATE=[BLOCKS | STATISTICS]
-
BLOCKS
: 見積りは、ソース・オブジェクトで使用されるデータベース・ブロックの数に、適切なブロック・サイズを掛けて計算されます。 -
STATISTICS
: 見積りは、表別の統計を使用して計算されます。この方法による見積りをできるかぎり正確にするには、すべての表を新しく分析しておく必要があります。(表の分析は、SQLANALYZE
文またはDBMS_STATS
PL/SQLパッケージのいずれかで実行可能です。)
制限事項
-
ESTIMATE=BLOCKS
が使用されている場合、圧縮された表がデータ・ポンプのエクスポート・ジョブに含まれていると、その圧縮表に対するデフォルトのサイズ見積りは不正確になります。これは、データが圧縮形式で保存されていたことが、サイズの見積りに反映されないためです。圧縮された表に対するサイズ見積りをより正確に行うには、ESTIMATE=STATISTICS
を使用してください。 -
また、
QUERY
またはREMAP_DATA
パラメータのいずれかが使用されている場合に、見積りが不正確になることがあります。
例
次の例に、ESTIMATE
パラメータの使用例を示します。ここでは、employees
表に対する統計を使用して見積りが計算されます。
> expdp hr TABLES=employees ESTIMATE=STATISTICS DIRECTORY=dpump_dir1 DUMPFILE=estimate_stat.dmp
2.4.17 ESTIMATE_ONLY
デフォルト: NO
用途
エクスポート・ユーティリティで、ジョブが消費する領域を実際のエクスポート操作を行わずに見積もります。
構文および説明
ESTIMATE_ONLY=[YES | NO]
ESTIMATE_ONLY
=YES
の場合、エクスポート・ユーティリティは、使用される領域の見積りを行いますが、実際にエクスポート操作は実行せずに終了します。
制限事項
-
ESTIMATE_ONLY
パラメータは、QUERY
パラメータと組み合せて使用することはできません。
例
次に、ESTIMATE_ONLY
パラメータを使用して、HR
スキーマが使用するエクスポート領域の大きさを判断する場合の例を示します。
> expdp hr ESTIMATE_ONLY=YES NOLOGFILE=YES SCHEMAS=HR
2.4.18 EXCLUDE
デフォルト: デフォルト値は設定されていません。
用途
構文および説明
EXCLUDE=object_type[:name_clause] [, ...]
object_type
は除外するオブジェクトのタイプを指定します。DATABASE_EXPORT_OBJECTS
(全体モードの場合)、SCHEMA_EXPORT_OBJECTS
(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS
(表および表領域モードの場合)ビューを問い合せて、object_type
の有効な値の一覧を表示できます。OBJECT_PATH
列にリストされる値が有効なオブジェクト・タイプです。(このような問合せの実行方法の例は、「メタデータのフィルタ」を参照してください。)
EXCLUDE
文に指定したオブジェクト型を除き、実行されるエクスポート・モードに対応するすべてのオブジェクト型が、エクスポート操作の対象になります。オブジェクトが除外されると、そのオブジェクトのすべての依存オブジェクトも除外されます。たとえば、表を除外すると、その表のすべての索引およびトリガーも除外されます。
name_clause
は、オプションです。このオプションを使用すると、あるオブジェクト型のうち、特定のオブジェクトを選択できます。このオプションは、その型のオブジェクト名に対するフィルタとして使用されるSQL式です。SQL演算子および指定した型のオブジェクト名の比較対象となる値で構成されています。このname_clause
は、名前付きのインスタンスを持つオブジェクト型にのみ適用されます(たとえば、TABLE
には適用されますが、GRANT
には適用されません)。それは、コロンでオブジェクト型と区切り、二重引用符(一重引用符は名前文字列を区切るために必要なため)で囲む必要があります。たとえば、EXCLUDE=INDEX:"LIKE 'EMP%'"
と設定した場合、EMP
で始まる名前を持つすべての索引を除外できます。
name_clause
に指定する名前は、データベース内の既存のオブジェクトに、大文字と小文字も含めて完全に一致させる必要があります。たとえば、指定するname_clause
がEMPLOYEES
という表に対するものだった場合は、すべてが大文字のEMPLOYEES
という表が存在する必要があります。name_clause
に対してEmployees
、employees
などを指定した場合、表は検出されません。
name_clause
を指定しない場合、指定した型のすべてのオブジェクトが除外されます。
2つ以上のEXCLUDE
文を指定できます。
オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。
object_type
にCONSTRAINT
、GRANT
またはUSER
を指定する場合、次に説明する影響があることに注意してください。
制約の除外
次の制約は明示的に除外できません。
-
表の作成とロードを正常に行うために必要な制約。たとえば、索引構成表の主キー制約、
REF
列を持つ表のREF
SCOPE
およびWITH
ROWID
制約など
次に、EXCLUDE
文の例およびその解釈を示します。
-
EXCLUDE=CONSTRAINT
では、表の正常な作成およびロードに必要な制約を除く、すべての制約を除外します。 -
EXCLUDE=REF_CONSTRAINT
は、参照整合性(外部キー)制約を除外します。
権限とユーザーの除外
EXCLUDE
=GRANT
を指定すると、すべてのオブジェクト型に対するオブジェクト権限およびシステム権限が除外されます。
EXCLUDE
=USER
を指定すると、ユーザーの定義のみが除外され、そのユーザーのスキーマ内のオブジェクトは除外されません。
特定のユーザーとそのユーザーのすべてのオブジェクトを除外するには、次のコマンドを指定します(hr
は除外するユーザーのスキーマ名です)。
expdp FULL=YES DUMPFILE=expfull.dmp EXCLUDE=SCHEMA:"='HR'"
ここで、エクスポート・モードがFULL
に指定されていることに注意してください。モードを指定しなかった場合は、デフォルト・モードのSCHEMAS
が使用されます。その場合は、スキーマをエクスポートすると同時に除外するようコマンドが指示することになるため、エラーが発生します。
EXCLUDE=USER:"='HR'"
のような文を使用してユーザーを除外しようとすると、DDL文CREATE USER hr
DDL文内で使用される情報のみが除外され、期待した結果が得られない場合があります。
制限事項
-
EXCLUDE
およびINCLUDE
は、相互に排他的なパラメータです。
例
次に、EXCLUDE
文の使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_exclude.dmp EXCLUDE=VIEW, PACKAGE, FUNCTION
これによって、hr
スキーマ全体がエクスポートされるスキーマ・モード・エクスポート(デフォルトのエクスポート・モード)が実行されます。ただし、このスキーマのビュー、パッケージおよびファンクションは除外されます。
関連項目:
-
EXCLUDE
パラメータを使用した場合の効果の詳細は、「エクスポート操作中のフィルタ処理」を参照してください -
パラメータ・ファイルの使用例は、「INCLUDE」を参照してください
2.4.19 FILESIZE
デフォルト: 0
(最大サイズの16TBと同じ)
用途
各ダンプ・ファイルの最大サイズを指定します。ダンプ・ファイル・セット内にあるダンプ・ファイルが最大サイズになると、そのファイルはクローズされ、ファイル指定に置換変数が含まれている場合または追加ダンプ・ファイルがジョブに追加されている場合は、新しいファイルが作成されます。
構文および説明
FILESIZE=integer[B | KB | MB | GB | TB]
integer
の後に(スペースを挿入しない)、B
、KB
、MB
、GB
またはTB
(それぞれバイト、キロバイト、メガバイト、ギガバイト、テラバイトを示す)を指定できます。デフォルトは、B(バイト)です。作成されるファイルの実際のサイズは、ダンプ・ファイル内で使用されている内部ブロックのサイズと一致するように切り捨てられる場合があります。
制限事項
-
ファイルの最小サイズは、デフォルトのデータ・ポンプ・ブロック・サイズの10倍、つまり4KBです。
-
ファイルの最大サイズは16TBです。
例
次に、サイズが3MBのダンプ・ファイルを設定する例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_3m.dmp FILESIZE=3MB
3MBでもすべてのエクスポート・データを保持するのに十分でなかった場合、次のエラーが表示され、ジョブは中止されます。
ORA-39095: Dump file space has been exhausted: Unable to allocate 217088 bytes
割り当てることができなかった実際のバイト数は、場合によって異なります。また、この数字は、エクスポート操作全体を完了するために必要な容量を表しているわけではありません。この値は、ダンプ・ファイル領域がなくなった時点でエクスポート中だったオブジェクトのサイズのみを示しています。この状況は、中止されたジョブに接続し、ADD_FILE
コマンドを使用してファイルを1つ以上追加し、操作をやり直すことで解消できます。
2.4.20 FLASHBACK_SCN
デフォルト: デフォルト値は設定されていません。
用途
構文および説明
FLASHBACK_SCN=scn_value
エクスポート操作は、指定したSCNまでの一貫性のあるデータを使用して実行されます。NETWORK_LINK
パラメータが指定されている場合、SCNはソース・データベースのSCNを示します。
Oracle Database 12c リリース2 (12.2)からは、SCN値をビッグSCN (8バイト)にすることができます。また、ビッグSCNをサポートしていない以前のバージョンでダンプ・ファイルを作成するときも、実際のSCN値は移動されないため、ビッグSCNを指定できます。ビッグSCNの使用の詳細は、次の制限事項を参照してください。
制限事項
-
FLASHBACK_SCN
およびFLASHBACK_TIME
は、相互に排他的なパラメータです。 -
FLASHBACK_SCN
パラメータは、Oracle Databaseのフラッシュバック問合せ機能にのみ関係します。フラッシュバック・データベース、フラッシュバック削除およびフラッシュバック・データ・アーカイブには適用できません。 -
ビッグSCNをサポートしていないバージョンからのネットワーク・エクスポートまたはネットワーク・インポートに対して、ビッグSCNを指定することはできません。
例
次の例では、384632
というSCN値が存在するとします。この例では、hr
スキーマをSCN 384632までエクスポートします。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_scn.dmp FLASHBACK_SCN=384632
ノート:
ロジカル・スタンバイ・システムにおいてロジカル・スタンバイのプライマリへのアクセスにネットワーク・リンクを使用する場合は、ロジカル・スタンバイによってSCNが選択されるため、FLASHBACK_SCN
パラメータは無視されます。ロジカル・スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。
2.4.21 FLASHBACK_TIME
デフォルト: デフォルト値は設定されていません。
用途
構文および説明
FLASHBACK_TIME="TO_TIMESTAMP(time-value)"
TO_TIMESTAMP
の値は引用符で囲まれるため、パラメータ・ファイルに記述することをお薦めします。詳細は、「データ・ポンプ・コマンドラインでの引用符の使用」を参照してください。
また、次のように入力すると、現在のシステム時間に基づいて一貫性のあるエクスポートを開始できます。
FLASHBACK_TIME=systimestamp
制限事項
-
FLASHBACK_TIME
およびFLASHBACK_SCN
は、相互に排他的なパラメータです。 -
FLASHBACK_TIME
パラメータは、Oracle Databaseのフラッシュバック問合せ機能にのみ関係します。フラッシュバック・データベース、フラッシュバック削除およびフラッシュバック・データ・アーカイブには適用できません。
例
DBMS_FLASHBACK.ENABLE_AT_TIME
プロシージャで使用可能な形式で時刻を指定できます。たとえば、次の内容のパラメータ・ファイルflashback.par
を作成したとします。
DIRECTORY=dpump_dir1 DUMPFILE=hr_time.dmp FLASHBACK_TIME="TO_TIMESTAMP('27-10-2012 13:16:00', 'DD-MM-YYYY HH24:MI:SS')"
次のコマンドを発行します。
> expdp hr PARFILE=flashback.par
エクスポート操作は、指定した時間に最も近いSCNと整合性のあるデータで実行されます。
ノート:
ロジカル・スタンバイ・システムにおいてロジカル・スタンバイのプライマリへのアクセスにネットワーク・リンクを使用する場合は、ロジカル・スタンバイによってSCNが選択されるため、FLASHBACK_SCN
パラメータは無視されます。ロジカル・スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。
関連項目:
フラッシュバック問合せの使用方法の詳細は、『Oracle Database開発ガイド』を参照してください。
2.4.22 FULL
デフォルト: NO
用途
構文および説明
FULL=[YES | NO]
FULL=YES
と指定すると、すべてのデータおよびメタデータがエクスポートされます。全体エクスポートを実行するには、DATAPUMP_EXP_FULL_DATABASE
ロールが必要です。
このエクスポート・モードを使用したエクスポート対象を、フィルタ処理によって制限できます。詳細は、「エクスポート操作中のフィルタ処理」を参照してください。
トランスポータブル・オプション(TRANSPORTABLE=ALWAYS
)を使用して全体モード・エクスポートを実行できます。これは、全体トランスポータブル・エクスポートと呼ばれ、データベースの完全なコピーを作成するために必要なすべてのオブジェクトおよびデータがエクスポートされます。「全体モード・エクスポート時のトランスポータブル・オプションの使用」を参照してください。
ノート:
全体モード・エクスポートによって作成されたダンプ・ファイルを後でインポートする場合、インポート操作はSYS
アカウントのパスワードをソース・データベースからコピーしようとすることに注意してください。これは、失敗する場合があります(パスワードが共有パスワード・ファイル内にある場合など)。失敗した場合は、インポートの完了後に、ターゲット・データベース上のSYS
アカウントのパスワードを任意のパスワードに設定する必要があります。
制限事項
-
FULL
パラメータをTRANSPORTABLE
(全体トランスポータブル・エクスポート)と組み合せて使用するには、データ・ポンプのVERSION
パラメータを12.0以上に設定するか、COMPATIBLE
データベース初期化パラメータを12.0以上に設定する必要があります。 -
全体エクスポートでは、Oracleが管理するデータおよびメタデータを含むシステム・スキーマがデフォルトでエクスポートされません。デフォルトでエクスポートされないシステム・スキーマの例としては、
SYS
、ORDSYS
、MDSYS
などがあります。 -
SYS
スキーマが所有しているオブジェクトに対する権限はエクスポートされません。 -
全体エクスポート操作では、1つのデータベース・エディションのみからオブジェクトがエクスポートされ、デフォルトでは現在のエディションがエクスポートされますが、エクスポートの
SOURCE_EDITION
パラメータを使用して別のエディションを指定することもできます。 -
レルムにより保護されているデータをエクスポートする場合は、そのレルムに対する権限が必要です。
-
自動ワークロード・リポジトリ(AWR)は、全データベースのエクスポートおよびインポート操作では移動されません。(データ・ポンプを使用してAWRスナップショットを移動する方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。)
-
XDBリポジトリは、全データベースのエクスポートおよびインポート操作では移動されません。ユーザーが作成したXMLスキーマは移動されます。
例
次に、FULL
パラメータの使用例を示します。ダンプ・ファイルexpfull.dmp
は、dpump_dir2
ディレクトリに書き込まれます。
> expdp hr DIRECTORY=dpump_dir2 DUMPFILE=expfull.dmp FULL=YES NOLOGFILE=YES
関連項目:
-
全体トランスポータブル・エクスポートの実行方法の詳細な例は、『Oracle Database管理者ガイド』を参照してください。
-
レルムの構成の詳細は、『Oracle Database Vault管理者ガイド』を参照してください。
2.4.23 HELP
デフォルト: NO
用途
エクスポート・ユーティリティのオンライン・ヘルプを表示します。
構文および説明
HELP = [YES | NO]
HELP
=YES
が指定されている場合は、エクスポート・ユーティリティによって、そのすべてのコマンドライン・パラメータと対話方式コマンドの要約が表示されます。
例
> expdp HELP = YES
この例では、すべてのエクスポート・パラメータおよびコマンドの簡単な説明が表示されます。
2.4.24 INCLUDE
デフォルト: デフォルト値は設定されていません。
用途
現行のエクスポート・モードにオブジェクトとオブジェクト型を指定して、エクスポート対象のメタデータをフィルタ処理できます。指定したオブジェクトおよびこれらのオブジェクトのすべての依存オブジェクトがエクスポートされます。これらのオブジェクトに対する権限もエクスポートされます。
構文および説明
INCLUDE = object_type[:name_clause] [, ...]
object_type
は含めるオブジェクトのタイプを指定します。DATABASE_EXPORT_OBJECTS
(全体モードの場合)、SCHEMA_EXPORT_OBJECTS
(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS
(表および表領域モードの場合)ビューを問い合せて、object_type
の有効な値の一覧を表示できます。OBJECT_PATH
列にリストされる値が有効なオブジェクト・タイプです。(このような問合せの実行方法の例は、「メタデータのフィルタ」を参照してください。)
INCLUDE
文で明示的に指定されたオブジェクト型とその依存オブジェクトのみがエクスポートされます。他のオブジェクト型(通常、DATAPUMP_EXP_FULL_DATABASE
ロールを所有している場合にスキーマ・モード・エクスポートの一部となるスキーマ定義情報など)はエクスポートされません。
name_clause
は、オプションです。これを使用すると、あるオブジェクト型のうち、特定のオブジェクトをファイングレイン選択できます。その型のオブジェクト名に対するフィルタとして使用されるSQL式です。SQL演算子および指定した型のオブジェクト名の比較対象となる値で構成されています。このname_clause
は、名前付きのインスタンスを持つオブジェクト型にのみ適用されます(たとえば、TABLE
には適用されますが、GRANT
には適用されません)。それは、コロンでオブジェクト型と区切り、二重引用符(一重引用符は名前文字列を区切るために必要なため)で囲む必要があります。
name_clause
に指定する名前は、データベース内の既存のオブジェクトに、大文字と小文字も含めて完全に一致させる必要があります。たとえば、指定するname_clause
がEMPLOYEES
という表に対するものだった場合は、すべてが大文字のEMPLOYEES
という表が存在する必要があります。name_clause
に対してEmployees
、employees
などを指定した場合、表は検出されません。
オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。詳細は、「データ・ポンプ・コマンドラインでの引用符の使用」を参照してください。
たとえば、次の内容のパラメータ・ファイルhr.par
を作成したとします。
SCHEMAS=HR DUMPFILE=expinclude.dmp DIRECTORY=dpump_dir1 LOGFILE=expinclude.log INCLUDE=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')" INCLUDE=PROCEDURE INCLUDE=INDEX:"LIKE 'EMP%'"
この場合、コマンドラインで他のパラメータを入力しなくても、hr.par
ファイルを使用してエクスポート操作を開始できます。EMPLOYEES
とDEPARTMENTS
表、すべてのプロシージャおよびEMP接頭辞を持つすべての索引名が、エクスポートに含まれます。
> expdp hr PARFILE=hr.par
制約の追加
指定したobject_type
がCONSTRAINT
である場合は、次に説明する影響があることに注意してください。
次の制約を明示的に含めることはできません。
-
NOT
NULL
制約 -
表の作成とロードを正常に行うために必要な制約。たとえば、索引構成表の主キー制約、
REF
列を持つ表のREF
SCOPE
およびWITH
ROWID
制約など
次に、INCLUDE
文の例およびその解釈を示します。
-
INCLUDE=
CONSTRAINT
は、NOT
NULL
制約および表の正常な作成およびロードに必要な制約を除き、すべての制約(非参照)を含めます。 -
INCLUDE=
REF_CONSTRAINT
は、参照整合性(外部キー)制約を含めます。
制限事項
-
INCLUDE
およびEXCLUDE
は、相互に排他的なパラメータです。 -
SYS
スキーマが所有しているオブジェクトに対する権限はエクスポートされません。
例
次の例では、hr
スキーマのすべての表(およびその依存オブジェクト)をエクスポートします。
> expdp hr INCLUDE=TABLE DUMPFILE=dpump_dir1:exp_inc.dmp NOLOGFILE=YES
2.4.25 JOB_NAME
デフォルト: SYS_EXPORT_<mode>_NN
という書式のシステム生成による名前
用途
ジョブへの接続にATTACH
パラメータを使用したり、DBA_DATAPUMP_JOBS
またはUSER_DATAPUMP_JOBS
ビューを使用してジョブを指定する場合など、後続処理でエクスポート・ジョブを指定するために使用されます。
構文および説明
JOB_NAME=jobname_string
jobname_string
には、このエクスポート・ジョブの名前を、128バイト以内で指定します。これらのバイトは印字可能文字と空白を表します。空白を含む場合は、一重引用符で囲みます(たとえば、'Thursday Export'とします)。ジョブ名は、エクスポート操作を実行しているユーザーのスキーマによって暗黙的に修飾されます。ジョブ名は、マスター表の名前として使用されます(マスター表はエクスポート・ジョブを制御します)。
デフォルトのジョブ名はSYS_EXPORT_<mode>_NN
という形式で、システムによって生成されます。NN
は、01から始めて増加する2桁の整数です。デフォルト名は、'SYS_EXPORT_TABLESPACE_02'
などです。
例
次に、ジョブ名exp_job
を割り当てるエクスポート操作の例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=exp_job.dmp JOB_NAME=exp_job NOLOGFILE=YES
2.4.26 KEEP_MASTER
デフォルト: NO
用途
正常に完了したデータ・ポンプ・ジョブの最後に、マスター表を削除するか、または保持するかを示します。ジョブが正常に完了しなかった場合、マスター表は自動的に保持されます。
構文および説明
KEEP_MASTER=[YES | NO]
制限事項
-
なし
例
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr KEEP_MASTER=YES
2.4.27 LOGFILE
デフォルト: export
.log
用途
エクスポート・ジョブのログ・ファイルの名前を指定します。また、オプションで、そのログ・ファイルを格納するディレクトリを指定します。
構文および説明
LOGFILE=[directory_object:]file_name
directory_object
には、DBAによって作成済であるデータベースのディレクトリ・オブジェクトを指定できます(そのオブジェクトへのアクセス権がある場合)。この指定は、DIRECTORY
パラメータに指定されたディレクトリ・オブジェクトよりも優先されます。
file_name
には、ログ・ファイル名を指定します。デフォルトでは、DIRECTORY
パラメータで指定されたディレクトリ・オブジェクトが示すディレクトリに、export
.log
というファイルが作成されます。
処理中の作業、完了した作業および発生したエラーに関するすべてのメッセージがログ・ファイルに書き込まれます。(ジョブのリアルタイムの状態を把握するには、対話方式モードでSTATUS
コマンドを使用します。)
NOLOGFILE
パラメータを指定しないかぎり、エクスポート・ジョブには、常にログ・ファイルが作成されます。ダンプ・ファイル・セットと同様に、ログ・ファイルの基準となるのは、クライアントではなく、サーバーです。
このファイル名と一致する既存のファイルは上書きされます。
制限事項
-
Oracle Automatic Storage Management (Oracle ASM)を使用してデータ・ポンプ・エクスポートを実行する場合、
LOGFILE
パラメータは、Oracle ASMの+表記法を使用せずにディレクトリ・オブジェクトを指定する必要があります。つまり、ログ・ファイルはディスク・ファイルに書き込まれ、Oracle ASMの記憶域には書き込まれません。かわりに、NOLOGFILE=YES
を指定することもできます。ただし、この場合はログ・ファイルの書込みは行われません。
例
次の例に、デフォルトの名前を使用しない場合に、ログ・ファイル名を指定する方法を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp LOGFILE=hr_export.log
ノート:
データ・ポンプ・エクスポート・ユーティリティは、データベースの文字セットを使用してログ・ファイルに書込みを行います。クライアントのNLS_LANG
環境設定がデータベースの文字セットと異なる文字セットの場合は、ログ・ファイル内の表の名前が、クライアントの出力画面に表示される名前と異なることがあります。
関連項目:
-
Oracle Automatic Storage Managementおよびディレクトリ・オブジェクトの詳細は、「Oracle Automatic Storage Managementを使用可能にした場合のディレクトリ・オブジェクトの使用方法」を参照してください
2.4.28 LOGTIME
デフォルト: タイムスタンプは記録されません。
用途
エクスポート操作中に表示されるメッセージにタイムスタンプを付けるように指定します。 タイムスタンプを使用して、データ・ポンプ操作の異なるフェーズ間の経過時間を計算できます。この情報は、パフォーマンス問題を診断する場合や、将来の同じような操作の時間を見積もる場合に役立ちます。
構文および説明
LOGTIME=[NONE | STATUS | LOGFILE | ALL]
使用可能なオプションの定義は次のとおりです。
-
NONE
: ステータス・メッセージまたはログ・ファイル・メッセージにタイムスタンプを付けません(デフォルトと同じ)。 -
STATUS
: ステータス・メッセージにのみタイムスタンプを付けます。 -
LOGFILE
: ログ・ファイル・メッセージにのみタイムスタンプを付けます。 -
ALL
: ステータス・メッセージとログ・ファイル・メッセージの両方にタイムスタンプを付けます。
制限事項
-
なし
例
次の例では、エクスポート操作中に表示されるすべてのステータス・メッセージとログ・ファイル・メッセージにタイムスタンプを記録します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr LOGTIME=ALL
出力は、次のようになります。
10-JUL-12 10:12:22.300: Starting "HR"."SYS_EXPORT_SCHEMA_01": hr/******** directory=dpump_dir1 dumpfile=expdat.dmp schemas=hr logtime=all 10-JUL-12 10:12:22.915: Estimate in progress using BLOCKS method... 10-JUL-12 10:12:24.422: Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA 10-JUL-12 10:12:24.498: Total estimation using BLOCKS method: 128 KB 10-JUL-12 10:12:24.822: Processing object type SCHEMA_EXPORT/USER 10-JUL-12 10:12:24.902: Processing object type SCHEMA_EXPORT/SYSTEM_GRANT 10-JUL-12 10:12:24.926: Processing object type SCHEMA_EXPORT/ROLE_GRANT 10-JUL-12 10:12:24.948: Processing object type SCHEMA_EXPORT/DEFAULT_ROLE 10-JUL-12 10:12:24.967: Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA 10-JUL-12 10:12:25.747: Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 10-JUL-12 10:12:32.762: Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE 10-JUL-12 10:12:46.631: Processing object type SCHEMA_EXPORT/TABLE/TABLE 10-JUL-12 10:12:58.007: Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT 10-JUL-12 10:12:58.106: Processing object type SCHEMA_EXPORT/TABLE/COMMENT 10-JUL-12 10:12:58.516: Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE 10-JUL-12 10:12:58.630: Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE 10-JUL-12 10:12:59.365: Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX 10-JUL-12 10:13:01.066: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 10-JUL-12 10:13:01.143: Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 10-JUL-12 10:13:02.503: Processing object type SCHEMA_EXPORT/VIEW/VIEW 10-JUL-12 10:13:03.288: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT 10-JUL-12 10:13:04.067: Processing object type SCHEMA_EXPORT/TABLE/TRIGGER 10-JUL-12 10:13:05.251: Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 10-JUL-12 10:13:06.172: . . exported "HR"."EMPLOYEES" 17.05 KB 107 rows 10-JUL-12 10:13:06.658: . . exported "HR"."COUNTRIES" 6.429 KB 25 rows 10-JUL-12 10:13:06.691: . . exported "HR"."DEPARTMENTS" 7.093 KB 27 rows 10-JUL-12 10:13:06.723: . . exported "HR"."JOBS" 7.078 KB 19 rows 10-JUL-12 10:13:06.758: . . exported "HR"."JOB_HISTORY" 7.164 KB 10 rows 10-JUL-12 10:13:06.794: . . exported "HR"."LOCATIONS" 8.398 KB 23 rows 10-JUL-12 10:13:06.824: . . exported "HR"."REGIONS" 5.515 KB 4 rows 10-JUL-12 10:13:07.500: Master table "HR"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded 10-JUL-12 10:13:07.503: ******************************************************************************
2.4.29 METRICS
デフォルト: NO
用途
ジョブに関する詳細情報をデータ・ポンプ・ログ・ファイルに記録するかどうかを示します。
構文および説明
METRICS=[YES | NO]
METRICS=YES
を使用すると、オブジェクト数および経過時間がデータ・ポンプ・ログ・ファイルに記録されます。
制限事項
-
なし
例
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr METRICS=YES
2.4.30 NETWORK_LINK
デフォルト: デフォルト値は設定されていません。
用途
有効なデータベース・リンクによって指定される(ソース)データベースからのエクスポートを使用可能にします。ソース・データベース・インスタンスのデータは、接続されたデータベース・インスタンスのダンプ・ファイル・セットに書き込まれます。
構文および説明
NETWORK_LINK=source_database_link
NETWORK_LINK
パラメータは、データベース・リンクを使用してエクスポートを開始します。つまり、expdp
クライアントの接続先となるシステムから、source_database_link
で指定されたソース・データベースに接続し、そこからデータを取り出して、接続されたシステムのダンプ・ファイルに書き込みます。
source_database_link
には、使用可能なデータベースへのデータベース・リンク名を指定する必要があります。対象インスタンスのデータベースにデータベース・リンクが指定されていない場合、ユーザーまたはDBAが、SQL CREATE DATABASE LINK
文を使用してデータベース・リンクを作成する必要があります。
ソース・データベースが読取り専用の場合、ソース・データベースのユーザーは、デフォルト一時表領域として割り当てられたローカル管理一時表領域を持つ必要があります。それ以外の場合、ジョブは失敗します。
データ・ポンプ・エクスポートでは、次のタイプのデータベース・リンクの使用がサポートされています。
-
パブリック固定ユーザー
-
パブリック接続ユーザー
-
パブリック共有ユーザー(リンク所有者により使用される場合のみ)
-
プライベート共有ユーザー(リンク所有者により使用される場合のみ)
-
プライベート固定ユーザー(リンク所有者により使用される場合のみ)
注意:
暗号化されていないネットワーク・リンクを介してエクスポート操作が行われる場合、すべてのデータはクリア・テキストとしてエクスポートされます。これは、データがデータベースで暗号化されている場合でも同様です。ネットワーク・セキュリティの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
制限事項
-
データ・ポンプ・エクスポートでは、次のタイプのデータベース・リンクの使用はサポートされていません。
-
プライベート接続ユーザー
-
現在のユーザー
-
-
データ・ポンプ操作がネットワーク・リンクを介して行われる場合、ソース・データベースとターゲット・データベースのバージョンの差違が2バージョン以下である必要があります。たとえば、一方のデータベースがOracle Database 12cの場合、他方のデータベースは12c、11gまたは10gである必要があります。データ・ポンプがチェックするのはメジャー・バージョン番号のみ(10g、 11g、12cなど)で、具体的なリリース番号(12.1、12.2、11.1、11.2、10.1、10.2など)ではありません。
-
全体トランスポータブル・エクスポートを使用してネットワークを介してデータベースを転送する場合、監査証跡情報自体がユーザー定義の表領域に格納されていると、管理表領域(
SYSTEM
やSYSAUX
など)に格納された表に対して監査を有効にすることはできません。 -
NETWORK_LINK
パラメータも使用されていると、メタデータはパラレルでインポートできなくなります
例
次に、NETWORK_LINK
パラメータの使用例を示します。source_database_link
には、すでに存在する有効なデータベース・リンク名を指定します。
> expdp hr DIRECTORY=dpump_dir1 NETWORK_LINK=source_database_link
DUMPFILE=network_export.dmp LOGFILE=network_export.log
関連項目:
-
データベース・リンクの詳細は、Oracle Database管理者ガイドを参照してください。
-
CREATE DATABASE LINK
文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 -
ローカル管理表領域の詳細は、『Oracle Database管理者ガイド』を参照してください。
2.4.31 NOLOGFILE
デフォルト: NO
用途
ログ・ファイルを作成するかどうかを指定します。
構文および説明
NOLOGFILE=[YES | NO]
デフォルトでログ・ファイルを作成しないようにするには、NOLOGFILE
=YES
を指定します。ただし、進捗とエラーに関する情報は、接続されているいずれかのクライアント(元のエクスポート操作を開始したクライアントを含む)の標準出力デバイスに書き込まれます。実行中のジョブに接続されているクライアントが存在しないときにNOLOGFILE=YES
を指定すると、重要な進捗情報およびエラー情報が失われる危険性があります。
例
次に、NOLOGFILE
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp NOLOGFILE=YES
このコマンドによって、ログ・ファイルの書込みを行わないスキーマ・モード・エクスポート(デフォルト)が実行されます。
2.4.32 PARALLEL
デフォルト: 1
用途
エクスポート・ジョブのために動作するアクティブな実行プロセスの最大数を指定します。この実行セットはワーカー・プロセスおよびパラレルI/Oサーバーの処理の組合せで構成されています。パラレル問合せ操作で問合せコーディネータとして動作するマスター制御プロセスおよびワーカー・プロセスは、この合計数には加算されません。
このパラメータを使用して、リソース消費と経過時間のバランスをとることができます。
構文および説明
PARALLEL=integer
integer
に指定する値は、ダンプ・ファイル・セット内のファイル数以下にする必要があります(または、ダンプ・ファイル指定に%U
または%L
置換変数を指定する必要があります)。アクティブなワーカー・プロセスまたはI/Oサーバー・プロセスは、1つのファイルに対してそれぞれが同時に排他的に書込みを行うため、ファイル数が不足していると、逆効果になります。ファイルの待機中に、一部のワーカー・プロセスがアイドル状態になるため、そのジョブの全体的なパフォーマンスが低下します。また、パラレルI/Oサーバー・プロセスを共有で実行しているメンバーが出力用ファイルを取得できない場合は、ORA-39095
エラーを返してエクスポート操作が停止します。いずれの場合も、データ・ポンプ・エクスポート・ユーティリティを使用してジョブに接続することによって、問題を解決できます。接続後、対話方式モードで、ADD_FILE
コマンドを使用してファイルを追加し、ジョブが停止した場合は、ジョブを再開します。
ジョブの実行中にPARALLEL
の値を増減するには、対話方式コマンド・モードを使用します。並列度を下げても、ジョブに関連付けられたワーカー・プロセスは減少しません。任意の時点で実行されるワーカー・プロセスの数が減少します。また、プロセス数が減少する前に、継続中の処理が適正な完了ポイントに到達する必要があります。そのため、値を小さくした効果の確認に時間がかかる場合があります。アイドル状態のワーカーは、ジョブが終了するまで削除されません。
パラレル実行できる処理が存在する場合、並列度の増加はすぐに反映されます。
Oracle RAC環境でのエクスポートにおけるPARALLELの使用
Oracle Real Application Clusters(Oracle RAC)環境内でPARALLEL=1
としてエクスポート操作を実行すると、すべてのデータ・ポンプ・プロセスは、ジョブが開始されたインスタンス上に配置されます。そのため、ディレクトリ・オブジェクトは、そのインスタンスのローカル記憶域を示すことができます。
PARALLEL
を1より大きな値に設定してエクスポート操作を実行する場合は、ジョブが開始されたインスタンス以外のインスタンスにもデータ・ポンプ・プロセスを置くことができます。そのため、ディレクトリ・オブジェクトは、Oracle RACのすべてのインスタンスからアクセス可能な共有記憶域を示す必要があります。
制限事項
-
このパラメータは、Oracle Database 11g以上のEnterprise Editionでのみ有効です。
-
表および表パーティションを、パラレルで(PQスレーブを使用して)エクスポートするには、
DATAPUMP_EXP_FULL_DATABASE
ロールが必要です。 -
トランスポータブル表領域のメタデータは、パラレルでエクスポートできません。
NETWORK_LINK
パラメータも使用されていると、メタデータはパラレルでエクスポートできなくなります- 次のオブジェクトはパラレルでエクスポートできません。
TRIGGER
VIEW
OBJECT_GRANT
SEQUENCE
CONSTRAINT
REF_CONSTRAINT
例
次に、PARALLEL
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 LOGFILE=parallel_export.log JOB_NAME=par4_job DUMPFILE=par_exp%u.dmp PARALLEL=4
この例では、hr
スキーマのスキーマ・モード・エクスポート(デフォルトのモード)が実行され、ディレクトリ・オブジェクトdpump_dir1
に指定されたパスに、最大で4つのファイルが作成されます。
2.4.33 PARFILE
デフォルト: デフォルト値は設定されていません。
用途
構文および説明
PARFILE=[directory_path]file_name
パラメータ・ファイルでは、ファイル内にデータ・ポンプ・パラメータを指定して、すべてのコマンドを個別に入力するかわりにそのファイルをコマンドラインに指定できます。これは、同じパラメータの組合せを何度も使用する場合に便利です。値の指定に引用符が必要なパラメータを使用する場合も、パラメータ・ファイルを使用することをお薦めします。
サーバーによって作成されて書き込まれるダンプ・ファイル、ログ・ファイルおよびSQLファイルとは異なり、パラメータ・ファイルはexpdp
クライアントによって開かれて読み取られるため、パラメータ・ファイルにディレクトリ・オブジェクトは指定されません。パラメータ・ファイルのデフォルトの場所は、ユーザーのカレント・ディレクトリです。
パラメータ・ファイル内では、カンマはすべての改行文字に暗黙的に含まれるため、各行の最後にカンマを入力する必要はありません。長い表名など、折返しを含む長い行がある場合、現在の行の最後にバックスラッシュ継続文字(\)を入力して次の行に継続します。
パラメータ・ファイルの内容がデータ・ポンプ・ログ・ファイルに書き込まれます。
制限事項
-
PARFILE
パラメータは、パラメータ・ファイル内には指定できません。
例
パラメータ・ファイルhr.par
の内容は、次のとおりです。
SCHEMAS=HR DUMPFILE=exp.dmp DIRECTORY=dpump_dir1 LOGFILE=exp.log
このパラメータ・ファイルを指定するには、次のExportコマンドを実行します。
> expdp hr PARFILE=hr.par
2.4.34 QUERY
デフォルト: デフォルト値は設定されていません。
用途
構文および説明
QUERY = [schema.][table_name:] query_clause
通常、query_clause
では、ファイングレイン行選択のためのSQL WHERE
句を使用しますが、任意のSQL句を使用できます。たとえば、ORDER
BY
句を使用すると、ヒープ構成表から索引構成表への移行を高速化できます。スキーマおよび表名を指定しなかった場合は、エクスポート・ジョブ内のすべての表に問合せが適用されます(この場合、問合せは、これらのすべての表に対して有効である必要があります)。表固有の問合せは、すべての表に適用される問合せより優先されます。
特定の表に問合せを適用する場合は、表名と問合せ句をコロンで区切る必要があります。表固有の問合せは複数指定できますが、1つの表に指定できるのは1つの問合せのみです。
QUERY
パラメータと一緒にNETWORK_LINK
パラメータを指定する場合、リモート(ソース)ノード上にあるquery_clause
で指定されるすべてのオブジェクトは、NETWORK_LINK
値で明示的に修飾する必要があります。それ以外の場合、データ・ポンプではオブジェクトがローカル(ターゲット)ノード上に存在することを前提とし、存在しない場合はエラーが返され、リモート(ソース)システムからの表のインポートは失敗します。
たとえば、NETWORK_LINK=dblink1
と指定した場合、QUERY
パラメータのquery_clause
は、次の例に示すようにそのリンクを指定する必要があります。
QUERY=(hr.employees:"WHERE last_name IN(SELECT last_name FROM hr.employees@dblink1)")
オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。詳細は、「データ・ポンプ・コマンドラインでの引用符の使用」を参照してください。
表固有の問合せで自分のスキーマ以外のスキーマを指定するには、その特定の表に対するアクセス権限が付与されている必要があります。
制限事項
-
QUERY
パラメータは次のパラメータとは併用できません。-
CONTENT=METADATA_ONLY
-
ESTIMATE_ONLY
-
TRANSPORT_TABLESPACES
-
-
表に
QUERY
パラメータが指定されている場合、データ・ポンプは外部表を使用してターゲット表をアンロードします。外部表は、SQLCREATE TABLE AS SELECT
文を使用します。QUERY
パラメータの値は、CREATE TABLE
文のSELECT
部分にあるWHERE
句です。QUERY
パラメータにアンロードする表と一致する名前の列がある他の表への参照が含まれていて、これらの列が問合せで使用される場合は、表別名を使用して、アンロードする表内の列と、SELECT
文内の同じ名前を持つ列を区別する必要があります。アンロードする表に対してデータ・ポンプで使用される表別名は、KU$
です。たとえば、
sh.customers
表にある顧客のクレジットの上限に基づいてsh.sales
表のサブセットをエクスポートするとします。次の例では、KU$
を使用して、sh.sales
をアンロードするためにQUERY
パラメータ内のcust_id
フィールドを修飾します。この結果、データ・ポンプによって、クレジットの上限が$10,000を超える顧客の行のみがエクスポートされます。QUERY='sales:"WHERE EXISTS (SELECT cust_id FROM customers c WHERE cust_credit_limit > 10000 AND ku$.cust_id = c.cust_id)"'
次の問合せのように、表別名として
KU$
を使用しないと、すべての行がアンロードされることになります。QUERY='sales:"WHERE EXISTS (SELECT cust_id FROM customers c WHERE cust_credit_limit > 10000 AND cust_id = c.cust_id)"'
-
QUERY
に使用できる文字列の最大長は、引用符を含めて4000バイトです。つまり、許容される実際の最大長は3998バイトです。
例
次に、QUERY
パラメータの使用例を示します。
> expdp hr PARFILE=emp_query.par
emp_query.parファイルの内容は次のとおりです。
QUERY=employees:"WHERE department_id > 10 AND salary > 10000" NOLOGFILE=YES DIRECTORY=dpump_dir1 DUMPFILE=exp1.dmp
この例では、hr
スキーマのすべての表がアンロードされます。ただし、アンロードされるのは、問合せ式に適合する行のみです。この場合、hr
スキーマ内のすべての表(employees
を除く)のすべての行がアンロードされます。employees
表に対しては、問合せ基準を満たす行のみがアンロードされます。
2.4.35 REMAP_DATA
デフォルト: デフォルト値は設定されていません。
用途
REMAP_DATA
パラメータを使用すると再マップ・ファンクションを指定できます。これにより、指定した列の元の値をソースとして再マップした値を返し、ダンプ・ファイル内の元の値をこの値に置き換えます。このオプションは、一般的に、本番システムからテスト・システムへ移動するときにデータをマスクするために使用されます。たとえば、クレジット・カード番号などの顧客の機密データの列を、REMAP_DATA
ファンクションで生成された番号に置き換えることができます。これにより、権限のないユーザーに個人データを公開することなく、データで必要な書式と処理特性を保持できます。
同じファンクションを、ダンプされる複数の列に適用できます。これは、参照制約で子と親両方の列を再マップするときに整合性を保つ必要がある場合に役立ちます。
構文および説明
REMAP_DATA=[schema.]tablename.column_name:[schema.]pkg.function
次に、各構文要素の説明を構文で出現する順に示します。
schema: 再マップされる表を含むスキーマ。デフォルトでは、これはエクスポートを実行するユーザーのスキーマです。
tablename: 列の再マップが行われる表。
column_name: データの再マップが行われる列。
schema: 再マップ・ファンクションを含むユーザー作成のPL/SQLパッケージを含むスキーマ。デフォルトでは、これはエクスポートを実行するユーザーのスキーマです。
pkg: 再マップ・ファンクションを含むユーザー作成のPL/SQLパッケージの名前。
function: 指定した表の各行で、列表を再マップする場合にコールされるPL/SQL内のファンクションの名前。
制限事項
-
ソース引数および戻り値のデータ型とサイズはともに、表内の指定した列のデータ型とサイズ一致している必要があります。
-
再マップ・ファンクションでは、自律型トランザクション以外のコミットまたはロール・バックを実行できません。
-
REMAP_DATA
パラメータの値としてのシノニムの使用はサポートされていません。たとえば、hr
スキーマ内のregions
表にregn
のシノニムがある場合は、regn
をREMPA_DATA
仕様の一部として指定した場合にエラーが返されます。 -
リモート表のLOB列データの再マップはサポートされていません。
-
REMAP_DATA
では、ユーザー定義タイプ、ユーザー定義タイプの属性、LONG、REF、VARRAY、ネストした表、BFILEおよびXMLtypeのタイプの列はサポートされていません。
例
次の例では、minus10
およびplusx
という名前のファンクションを格納するremap
という名前のパッケージが作成されており、これらのファンクションはemployees
表内のemployee_id
およびfirst_name
の値を変更すると想定しています。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=remap1.dmp TABLES=employees REMAP_DATA=hr.employees.employee_id:hr.remap.minus10 REMAP_DATA=hr.employees.first_name:hr.remap.plusx
2.4.36 REUSE_DUMPFILES
デフォルト: NO
用途
すでに存在しているダンプ・ファイルを上書きするかどうかを指定します。
構文および説明
REUSE_DUMPFILES=[YES | NO]
通常、データ・ポンプ・エクスポートは、すでに存在するダンプ・ファイル名を指定するとエラーを返します。REUSE_DUMPFILES
パラメータを使用すると、動作を変更してダンプ・ファイル名を再利用できます。たとえば、エクスポートを実行してDUMPFILE=hr.dmp
およびREUSE_DUMPFILES=YES
を指定した場合、hr.dmp
がすでに存在するときは、このファイルが上書きされます。このファイルの前の内容は消去され、かわりに現行のエクスポートのデータが格納されます。
例
次のエクスポート操作では、enc1.dmp
という名前のダンプ・ファイルが作成されます。これは、この名前の付いたダンプ・ファイルがすでに存在する場合でも同様です。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=enc1.dmp TABLES=employees REUSE_DUMPFILES=YES
2.4.37 SAMPLE
デフォルト: デフォルト値は設定されていません。
用途
サンプリングしてソース・データベースからアンロードするデータ行の割合を指定できます。
構文および説明
SAMPLE=[[schema_name.]table_name:]sample_percent
このパラメータを使用すると、サンプリングしてエクスポートするデータの割合を指定し、データのサブセットをエクスポートできます。sample_percent
は、行がサンプルの一部として選択される可能性を示します。ただし、指定した正確な行数が表から取り出されるわけではありません。sample_percent
には、0.000001から100未満の任意の数を指定できます。
sample_percent
は特定の表に適用することができます。次の例では、HR.EMPLOYEES
表の50%がエクスポートされます。
SAMPLE="HR"."EMPLOYEES":50
スキーマを指定する場合は、表も指定する必要があります。ただし、スキーマを指定せずに表を指定することはできます(その場合は、現在のユーザーが使用されます)。表の指定がない場合は、エクスポート・ジョブ全体にsample_percent
値が適用されます。
このパラメータとデータ・ポンプ・インポートのPCTSPACE
変換を組み合せて使用すると、記憶域の割当てサイズをサンプリングされたデータ・サブセットに合わせることができます。(詳細は、インポートの「TRANSFORM」パラメータを参照してください。)
制限事項
-
SAMPLE
パラメータは、ネットワークのエクスポートに対して無効です。
例
次の例では、表の名前が指定されていないため、全体のエクスポート・ジョブにSAMPLE
値70
が適用されます。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=sample.dmp SAMPLE=70
2.4.38 SCHEMAS
デフォルト: 現在のユーザーのスキーマ
用途
構文および説明
SCHEMAS=schema_name [, ...]
DATAPUMP_EXP_FULL_DATABASE
ロールがある場合、自分のスキーマ以外の単一のスキーマまたはスキーマ名のリストを指定できます。DATAPUMP_EXP_FULL_DATABASE
ロールでは、インポート時にスキーマを再作成できるように、指定した各スキーマのスキーマ・オブジェクト以外の補足情報をエクスポートすることもできます。この補足情報には、ユーザー定義、関連するすべてのシステムおよびロールの権限、ユーザー・パスワードの履歴などが含まれます。スキーマ・モードを使用したエクスポート対象を、フィルタ処理によってより詳細に制限できます(詳細は、「エクスポート操作中のフィルタ処理」を参照してください)。
制限事項
-
DATAPUMP_EXP_FULL_DATABASE
ロールを持っていない場合は、自分のスキーマのみ指定できます。 -
SYS
スキーマは、エクスポート・ジョブのソース・スキーマとして使用できません。
例
次に、SCHEMAS
パラメータの使用例を示します。前述の例でDATAPUMP_EXP_FULL_DATABASE
ロールがすでに割り当てられているため、ユーザーhr
が複数のスキーマを指定できることに注意してください。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr,sh,oe
このコマンドで、スキーマ・モード・エクスポートが実行され、dpump_dir1
ディレクトリにあるexpdat.dmp
ダンプ・ファイルに、スキーマhr
、sh
およびoe
が書き込まれます。
2.4.39 SERVICE_NAME
デフォルト: デフォルト値は設定されていません。
用途
CLUSTER
パラメータと組み合せて使用するサービス名を指定するために使用します。
構文および説明
SERVICE_NAME=name
SERVICE_NAME
パラメータをCLUSTER=YES
パラメータとともに使用して、リソース・グループに属しているOracle Real Application Clusters(Oracle RAC)インスタンス群(通常は全Oracle RACインスタンスのサブセット)を定義するリソース・グループに関連付けられている、既存のサービスを指定できます。
サービス名は、リソース・グループおよびそのリソース・グループに対して定義されたインスタンスを決定する目的でのみ使用されます。ジョブが開始されたインスタンスは、そのインスタンスがリソース・グループに含まれているかどうかとは関係なく、常に使用されます。
SERVICE_NAME
パラメータは、CLUSTER=NO
と同時に指定されると、無視されます。
インスタンスA、B、CおよびDを含むOracle RAC構成があります。インスタンスA、BおよびCのみで構成されるリソース・グループを持つmy_service
というサービスが存在するとします。そのような場合は、次の内容が成立します。
-
データ・ポンプ・ジョブをインスタンスAで開始し、
CLUSTER=YES
を指定し(またはデフォルトのY
をそのまま使用し)、SERVICE_NAME
パラメータを指定しなかった場合、データ・ポンプは、指定されている並列度に応じて、すべてのインスタンス(A、B、CおよびD)にワーカーを作成します。 -
データ・ポンプ・ジョブをインスタンスAで開始し、
CLUSTER=YES
およびSERVICE_NAME=my_service
を指定した場合、ワーカーは、インスタンスA、BおよびCのみで開始可能です。 -
データ・ポンプ・ジョブをインスタンスDで開始し、
CLUSTER=YES
およびSERVICE_NAME=my_service
を指定した場合、ワーカーは、インスタンスA、B、CおよびDのみで開始可能です。インスタンスDはmy_service
に存在しませんが、インスタンスDはジョブが開始されたインスタンスであるため含まれています。 -
データ・ポンプ・ジョブをインスタンスAで開始し、
CLUSTER=NO
を指定した場合、SERVICE_NAME
パラメータを指定しても無視され、すべてのプロセスがインスタンスAで開始されます。
例
次に、SERVICE_NAME
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_svname2.dmp SERVICE_NAME=sales
この例では、hr
スキーマのスキーマ・モード・エクスポート(デフォルト・モード)を実行します。コマンドラインではCLUSTER=YES
は指定されていませんが、それはデフォルトの動作なので、ジョブではサービス名sales
に関連付けられたリソース・グループのすべてのインスタンスが使用されます。hr_svname2.dmp
という名前のダンプ・ファイルが、dpump_dir1
ディレクトリ・オブジェクトによって指定された場所に書き込まれます。
関連項目:
2.4.40 SOURCE_EDITION
デフォルト: システム上のデフォルトのデータベース・エディション
用途
オブジェクトのエクスポート元のデータベース・エディションを指定します。
構文および説明
SOURCE_EDITION=edition_name
SOURCE_EDITION=
edition_name
を指定すると、そのエディションのオブジェクトがエクスポートされます。データ・ポンプは、変更されずに継承されているすべてのオブジェクトと、変更されているすべての実際のオブジェクトを選択します。
このパラメータが指定されていない場合は、デフォルトのエディションが使用されます。指定されたエディションが存在しない場合や使用できない場合は、エラー・メッセージが返されます。
制限事項
-
このパラメータは、バージョニング可能な同じオブジェクトのバージョンがデータベース内に2つ以上ある場合にのみ有効です。
-
ジョブ・バージョンは、
11.2
以上である必要があります。「VERSION」を参照してください。
例
次に、SOURCE_EDITION
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=exp_dat.dmp SOURCE_EDITION=exp_edition EXCLUDE=USER
この例は、オブジェクトのエクスポート元となるexp_edition
というエディションがシステム上に存在することを前提としています。エクスポート・モードは指定されていないため、デフォルトのスキーマ・モードが使用されます。EXCLUDE=user
パラメータは、ユーザーの定義のみを除外します。ユーザーのスキーマに含まれるオブジェクトは除外されません。
関連項目:
-
エディションの作成方法の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
-
エディション機能(継承されたオブジェクトと実際のオブジェクトも含む)の詳細は、『Oracle Database開発ガイド』を参照してください。
2.4.41 STATUS
デフォルト: 0
用途
ジョブ状態の表示が更新される頻度を指定します。
構文および説明
STATUS=[integer]
integer
に値を入力すると、ロギング・モードでジョブの状態を表示する頻度を秒単位で指定できます。値を入力しなかった場合またはデフォルト値の0を使用した場合、各オブジェクト型、表またはパーティションの完了に関する情報のみ表示されます。
この状態情報は、標準出力デバイスのみに書き込まれ、ログ・ファイルには(使用可能な場合でも)書き込まれません。
例
次に、STATUS
パラメータの使用例を示します。
> expdp hr DIRECTORY=dpump_dir1 SCHEMAS=hr,sh STATUS=300
この例では、hr
およびsh
スキーマをエクスポートし、エクスポート状態を5分ごと(60秒×5=300秒)に表示します。
2.4.42 TABLES
デフォルト: デフォルト値は設定されていません。
用途
表モード・エクスポートの実行を指定します。
構文および説明
TABLES=[schema_name.]table_name[:partition_name] [, ...]
このモードを使用したエクスポート対象を、フィルタ処理によってより詳細に制限できます(詳細は、「エクスポート操作中のフィルタ処理」を参照してください)。表およびパーティションまたはサブパーティションをカンマで区切ったリストを指定して、エクスポート対象のデータおよびメタデータをフィルタ処理できます。パーティションの名前を指定する場合は、関連表にあるパーティションまたはサブパーティションの名前にする必要があります。指定した表、パーティションおよびそれらの依存オブジェクトのみがアンロードされます。
パーティション表全体をエクスポートすると、パーティション表として全体的にインポートされます。これが当てはまらないのは、インポート時にPARTITION_OPTIONS=DEPARTITION
が指定されている場合のみです。
指定する表名の先頭にスキーマ名を修飾できます。デフォルトのスキーマは、現在のユーザーのスキーマです。自分のスキーマ以外のスキーマを指定するには、DATAPUMP_EXP_FULL_DATABASE
ロールが必要です。
ワイルドカード文字%を使用して、表名およびパーティション名を指定できます。
表名には次の制限があります。
-
デフォルトでは、表名は大文字でデータベースに格納されます。表名が大文字と小文字または小文字のみで表記され、大/小文字を区別する場合、名前を引用符で囲む必要があります。したがって、表名は、データベースに格納されている表名と完全に一致するように指定する必要があります。
ただし、オペレーティング・システムによっては、コマンドラインの引用符自体をエスケープする必要がある場合があります。次に、異なるエクスポート・モードで大/小文字の区別を保持する方法を示します。
-
コマンドライン・モード
TABLES='\"Emp\"'
-
パラメータ・ファイル・モード
TABLES='"Emp"'
-
-
表名を引用符で囲まないかぎり、コマンドラインで指定する表名にシャープ(#)記号は使用できません。同様に、パラメータ・ファイルでは、表名が引用符で囲まれていないかぎり、表名にシャープ(#)記号を使用すると、エクスポート・ユーティリティではシャープ(#)記号より右側の文字がコメントとして解釈されます。
たとえば、パラメータ・ファイルに次のコマンドラインが記述されている場合、エクスポート・ユーティリティでは
emp#
の右側がすべてコメントとして解釈されるため、表dept
およびmydata
はエクスポートされません。TABLES=(emp#, dept, mydata)
ただし、パラメータ・ファイルに次の行が含まれる場合は、
emp#
が引用符で囲まれているため、エクスポート・ユーティリティは3つの表をすべてエクスポートします。TABLES=('"emp#"', dept, mydata)
ノート:
オペレーティング・システムによっては、一重引用符を使用する必要がある場合と、二重引用符を使用する必要がある場合があります。ご使用のオペレーティング・システム固有のドキュメントで確認してください。表のネーミング方法に制限があるオペレーティング・システムもあります。
たとえば、UNIXのCシェルではドル記号($)やシャープ(#)(またはその他の特殊文字)には特別な意味があります。これらの文字をシェルを介してエクスポートするには、エスケープ文字を使用する必要があります。
表モード・エクスポート中のトランスポータブル・オプションの使用
表モード・エクスポート中にトランスポータブル・オプションを使用するには、TRANSPORTABLE=ALWAYS
パラメータとTABLES
パラメータを組み合せて指定します。指定した表、パーティションまたはサブパーティションのメタデータはダンプ・ファイルにエクスポートされます。実際のデータを移動するには、データ・ファイルをターゲット・データベースにコピーします。
表のパーティションの一部のみをエクスポートし、TRANSPORTABLE=ALWAYS
パラメータを使用すると、インポート時にそれぞれのパーティションが非パーティション表になります。
制限事項
-
相互スキーマ参照はエクスポートされません。たとえば、指定されたいずれかのスキーマ内の表にトリガーが定義されていても、そのトリガーが、明示的に指定されていないスキーマ内に常駐している場合はエクスポートされません。
-
表で使用される型は、表モードではエクスポートされません。後でダンプ・ファイルをインポートするときにインポート先のデータベースに型が存在しない場合、表の作成は正常に実行されません。
-
TABLES
パラメータの値としてのシノニムの使用はサポートされていません。たとえば、hr
スキーマのregions
表にregn
のシノニムが存在する場合、TABLES=regn
を使用すると無効になります。この場合、エラーが返されます。 -
表名にワイルド・カード文字%を含む表のエクスポートは、表がパーティションの場合はサポートされません。
-
TABLES
パラメータに指定する表名のリストの長さは、最大4MBに制限されます。ただし、NETWORK_LINK
パラメータで10.2.0.3以前のOracle Databaseまたは読取り専用のデータベースが設定されている場合は異なります。この場合の上限は4KBです。 -
エクスポートに対して
TRANSPORTABLE=ALWAYS
も設定されている場合、1つの表からのパーティションのみを指定できます。
例
次の例に、hr
スキーマにある3つ表employees
、jobs
およびdepartments
をエクスポートするためにTABLES
パラメータを使用する簡単な例を示します。ユーザーhr
は、hr
スキーマ内の表をエクスポートしているため、表名の前にスキーマ名を指定する必要はありません。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tables.dmp TABLES=employees,jobs,departments
次の例では、ユーザーhr
にDATAPUMP_EXP_FULL_DATABASE
ロールが付与されていることを前提としています。ここでは、TABLES
パラメータを使用したパーティションのエクスポートを示します。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tables_part.dmp TABLES=sh.sales:sales_Q1_2012,sh.sales:sales_Q2_2012
この例では、sh
スキーマのsales
表から、パーティションsales_Q1_2012
およびsales_Q2_2012
をエクスポートします。
関連項目:
2.4.43 TABLESPACES
デフォルト: デフォルト値は設定されていません。
用途
構文および説明
TABLESPACES=tablespace_name [, ...]
表領域モードでは、指定した表領域内に存在する表のみがアンロードされます。表がアンロードされると、その表の依存オブジェクトもアンロードされます。オブジェクトのメタデータとデータは、両方ともアンロードされます。指定した表領域内に表の一部が存在する場合、その表とその表のすべての依存オブジェクトがエクスポートされます。特権ユーザーは、すべての表を取得します。権限のないユーザーは、自分のスキーマ内の表のみを取得します。
このモードを使用したエクスポート対象を、フィルタ処理によってより詳細に制限できます(詳細は、「エクスポート操作中のフィルタ処理」を参照してください)。
制限事項
-
TABLESPACES
パラメータに指定する表領域名のリストの長さは、最大4MBに制限されます。ただし、NETWORK_LINK
で10.2.0.3以前のOracle Databaseまたは読取り専用のデータベースが設定されている場合は異なります。この場合の上限は4KBです。
例
次に、TABLESPACES
パラメータの使用例を示します。この例では、表領域tbs_4
、tbs_5
およびtbs_6
がすでに存在するとします。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tbs.dmp TABLESPACES=tbs_4, tbs_5, tbs_6
このコマンドによって、表領域エクスポートが実行され、指定した表領域(tbs_4
、tbs_5
およびtbs_6
)から表(および表の依存オブジェクト)がアンロードされます。
2.4.44 TRANSPORT_FULL_CHECK
デフォルト: NO
用途
トランスポータブル・セット内部のオブジェクトと外部のオブジェクト間の依存性をチェックするかどうかを指定します。このパラメータは、トランスポータブル表領域モード・エクスポートでのみ使用可能です。
構文および説明
TRANSPORT_FULL_CHECK=[YES | NO]
TRANSPORT_FULL_CHECK
=YES
を指定すると、エクスポート・ユーティリティによって、トランスポータブル・セット内のオブジェクトとトランスポータブル・セット外のオブジェクトの間に依存性が存在しないことが確認されます。ここでは、双方向の依存性がチェックされます。たとえば、トランスポータブル・セット内に表は存在するが、その表の索引は存在しない場合は、エラーが返され、エクスポート操作が終了します。同様に、トランスポータブル・セット内に索引は存在するが表は存在しない場合も、エラーが返されます。
TRANSPORT_FULL_CHECK
=NO
を指定すると、エクスポート・ユーティリティによって、トランスポータブル・セット外のオブジェクトに依存するオブジェクトが、トランスポータブル・セット内に存在しないことのみ確認されます。ここでは、一方向の依存性がチェックされます。たとえば、表は索引に依存しませんが、索引は表に依存します。これは、索引は表なしでは意味を持たないためです。そのため、トランスポータブル・セット内に表は存在するが、表の索引は存在しない場合、このチェックは正常に終了します。ただし、トランスポータブル・セット内に索引は存在するが表は存在しない場合は、エクスポート操作が終了します。
他のチェックも実行されます。たとえば、エクスポートでは、常に、TRANSPORT_TABLESPACES
で指定された表領域セット内に定義されているすべての表(およびその索引)のすべての記憶域セグメントが、表領域セット内に実際に含まれていることが確認されます。
例
次に、TRANSPORT_FULL_CHECK
パラメータの使用例を示します。ここでは、表領域tbs_1
が存在するとします。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp TRANSPORT_TABLESPACES=tbs_1 TRANSPORT_FULL_CHECK=YES LOGFILE=tts.log
2.4.45 TRANSPORT_TABLESPACES
デフォルト: デフォルト値は設定されていません。
用途
構文および説明
TRANSPORT_TABLESPACES=tablespace_name [, ...]
TRANSPORT_TABLESPACES
パラメータは、ソース・データベースからターゲット・データベースにオブジェクト・メタデータがエクスポートされる表領域名のリストを指定するために使用します。
エクスポートのログ・ファイルには、トランスポータブル・セットで使用されているデータ・ファイル、ダンプ・ファイルおよび制約違反が一覧表示されます。
TRANSPORT_TABLESPACES
パラメータを使用すると、指定した表領域内のすべてのオブジェクトのメタデータがエクスポートされます。特定の表、パーティションまたはサブパーティションのみのトランスポータブル・エクスポートを実行するには、TABLES
パラメータとTRANSPORTABLE=ALWAYS
パラメータを併用する必要があります。
ノート:
トランスポータブル表領域をエクスポートした後、それよりも古いリリース・レベルのデータベースにインポートすることはできません。ターゲット・データベースのリリース・レベルは、ソース・データベース以上である必要があります。
制限事項
-
トランスポータブル表領域ジョブは、再開できません。
-
トランスポータブル表領域ジョブは、並列度1に制限されます。
-
トランスポータブル表領域モードでは、
DATAPUMP_EXP_FULL_DATABASE
ロールが必要です。 -
エクスポートを実行するユーザーのデフォルトの表領域を、転送対象となっている表領域のいずれかに設定することはできません。
-
SYSTEM
およびSYSAUX
表領域は、トランスポータブル表領域モードで転送できません。 -
トランスポータブル・セット内のすべての表領域は、読取り専用に設定する必要があります。
-
データ・ポンプ・エクスポートの
VERSION
パラメータとTRANSPORT_TABLESPACES
パラメータと一緒に指定する場合、バージョンはOracle DatabaseCOMPATIBLE
初期化パラメータ以上である必要があります。 -
TRANSPORT_TABLESPACES
パラメータは、QUERY
パラメータと組み合せて使用することはできません。 -
トランスポータブル表領域のジョブでは、データ・ポンプ・エクスポートの
ACCESS_METHOD
パラメータはサポートされません。
例
次に、TRANSPORT_TABLESPACES
パラメータを(ネットワークベースではなく)ファイル・ベースのジョブに使用した例を示します。表領域tbs_1
は、移動する表領域です。この例では、表領域tbs_1
がすでに存在し、読取り専用に設定されていると仮定しています。また、この例では、このエクスポート・コマンドの実行前にデフォルトの表領域が変更されていると仮定しています。
> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp TRANSPORT_TABLESPACES=tbs_1 TRANSPORT_FULL_CHECK=YES LOGFILE=tts.log
関連項目:
-
データベース間の表領域の転送の詳細は、『Oracle Database管理者ガイド』を参照してください。
2.4.46 TRANSPORTABLE
デフォルト: NEVER
用途
表モード・エクスポート(TABLES
パラメータで指定)または全体モード・エクスポート(FULL
パラメータで指定)中にトランスポータブル・オプションを使用する必要があるかどうかを指定します。
構文および説明
TRANSPORTABLE = [ALWAYS | NEVER]
使用可能な値の定義は、次のとおりです。
ALWAYS
- エクスポート・ジョブでトランスポータブル・オプションを使用するように指定します。トランスポータブルが使用できない場合、ジョブは失敗します。
表モード・エクスポートでトランスポータブル・オプションを使用すると、指定した表、パーティションまたはサブパーティションのメタデータのみがエクスポートされるトランスポータブル表領域エクスポートになります。
全体モード・エクスポートでトランスポータブル・オプションを使用すると、データベースの完全なコピーを作成するために必要なすべてのオブジェクトおよびデータがエクスポートされる全体トランスポータブル・エクスポートになります。
NEVER
: エクスポート・ジョブでトランスポータブル・オプションではなくダイレクト・パスまたは外部表による方法を使用してデータをアンロードするように指定します。これはデフォルトです。
ノート:
トランスポータブル・モードで表領域全体をエクスポートするには、TRANSPORT_TABLESPACES
パラメータを使用します。
-
表のパーティションの一部のみをエクスポートし、
TRANSPORTABLE=ALWAYS
パラメータを使用すると、インポート時にそれぞれのパーティションが非パーティション表になります。 -
表のパーティションのサブセットのみをエクスポートし、
TRANSPORTABLE
パラメータを使用しない場合、またはそのパラメータがNEVER
に設定されている場合(デフォルト)は、インポート時に次のようになります。-
PARTITION_OPTIONS=DEPARTITION
を使用している場合は、ダンプ・ファイル・セットに含まれるそれぞれのパーティションが、非パーティション表として作成されます。 -
PARTITION_OPTIONS
を使用していない場合は、完全な表が作成されます。つまり、完全な表内のすべてのメタデータが、ソース上での表定義と同じになるようにターゲット・システム上に存在します。ただし、指定されたパーティション用にエクスポートされたデータのみが表に挿入されます。
-
制限事項
-
TRANSPORTABLE
パラメータは、表モード・エクスポートおよび全体モード・エクスポートでのみ有効です。 -
TRANSPORTABLE
パラメータを使用するには、COMPATIBLE
初期化パラメータを11.0.0以上に設定する必要があります。 -
FULL
パラメータをTRANSPORTABLE
(全体トランスポータブル・エクスポートの実行)と組み合せて使用するには、データ・ポンプのVERSION
パラメータを12.0以上に設定する必要があります。VERSION
パラメータを指定しない場合、COMPATIBLE
データベース初期化パラメータを12.0以上に設定する必要があります。 -
トランスポータブル・エクスポートを実行するユーザーには、
DATAPUMP_EXP_FULL_DATABASE
権限が必要です。 -
表、パーティションおよびサブパーティションに関連付けられている表領域は読取り専用である必要があります。
-
全体トランスポータブル・エクスポートでは、データ移動方法の組合せが使用されます。トランスポータブル表領域に存在するオブジェクトは、そのメタデータのみがアンロードされ、データはデータ・ファイルがソース・システムからターゲット・システムにコピーされるときにコピーされます。コピーする必要のあるデータ・ファイルは、エクスポート操作のログ・ファイルの最後に表示されます。非トランスポータブル表領域に存在するオブジェクト(
SYSTEM
やSYSAUX
など)は、そのメタデータとデータの両方がダンプ・ファイル・セットにアンロードされます。(全体トランスポータブル・エクスポートの実行の詳細は、『Oracle Database管理者ガイド』を参照してください。) -
エクスポートを実行するユーザーのデフォルトの表領域を、転送対象となっている表領域のいずれかに設定することはできません。
例
次の例では、sh
ユーザーがDATAPUMP_EXP_FULL_DATABASE
ロールを持ち、表sales2
がパーティション化されて表領域tbs2
内に格納されているとします。(tbs2
表領域はソース・データベースで読取り専用に設定する必要があります。)
> expdp sh DIRECTORY=dpump_dir1 DUMPFILE=tto1.dmp TABLES=sh.sales2 TRANSPORTABLE=ALWAYS
エクスポートが正常に完了した後は、データ・ファイルをターゲット・データベース領域にコピーする必要があります。次に、PARTITION_OPTIONS
とREMAP_SCHEMA
の各パラメータを使用してインポート操作を実行し、sales2
の各パーティションを固有の表にします。
> impdp system PARTITION_OPTIONS=DEPARTITION TRANSPORT_DATAFILES=oracle/dbs/tbs2 DIRECTORY=dpump_dir1 DUMPFILE=tto1.dmp REMAP_SCHEMA=sh:dp
2.4.47 VERSION
デフォルト: COMPATIBLE
用途
エクスポートするデータベース・オブジェクトのバージョンを指定します。指定したリリースと互換性のあるデータベース・オブジェクトおよび属性のみがエクスポートされます。このパラメータは、以前のリリースのOracle Databaseと互換性のあるダンプ・ファイル・セットの作成に使用できます。このことは、データ・ポンプ・エクスポートがOracle Database 10gリリース1(10.1)以前のOracle Databaseと一緒に使用できるという意味ではありません。データ・ポンプ・エクスポートは、Oracle Database 10gリリース1(10.1)以降でのみ動作します。VERSION
パラメータを使用して可能になるのは、エクスポートするオブジェクトのバージョンの識別のみです。
Oracle Database 11gリリース2 (11.2.0.3)以上では、VERSION
パラメータをVERSION=12
とし、FULL=Y
と組み合せて指定することで、Oracle Database 12cにインポートできる全体エクスポートのダンプ・ファイルを生成できます。このエクスポートには、登録したデータベース・オプションおよびコンポーネントの情報が含まれます。(このダンプ・ファイル・セットをインポートできるのは、Oracle Database 12cリリース1 (12.1.0.1)以降のみです。)VERSION=12
とFULL=Y
の組合せに、TRANSPORTABLE=ALWAYS
も指定すると、Oracle Database 12cにインポートできる全体トランスポータブル・エクスポート・ダンプ・ファイルが生成されます。(「全体モード・エクスポート時のトランスポータブル・オプションの使用」を参照してください。)
構文および説明
VERSION=[COMPATIBLE | LATEST | version_string]
VERSION
パラメータで使用可能な値は、次のとおりです。
-
COMPATIBLE
- デフォルト値。メタデータのバージョンは、COMPATIBLE
初期化パラメータで指定したデータベース互換性レベルに対応します。 データベースの互換性は、9.2以上に設定する必要があります。 -
LATEST
- メタデータおよび生成されるSQL DDLのバージョンは、互換性レベルに関係なく、データベース・リリースに対応します。 -
version_string
: 特定のデータベース・リリース(11.2.0など)。Oracle Database 11gの場合、9.2未満の値は指定できません。
VERSION
で指定したリリースと互換性のないデータベース・オブジェクトまたは属性は、エクスポートされません。たとえば、指定したリリースではサポートされていない新しいデータ型を含む表はエクスポートされません。
制限事項
-
データ・ポンプ・エクスポートの
VERSION
パラメータをTRANSPORT_TABLESPACES
パラメータと一緒に指定した場合、値はOracle DatabaseCOMPATIBLE
初期化パラメータ以上である必要があります。 -
データ・ポンプの
VERSION
パラメータを12.1より前の任意の値に指定すると、4000バイトを超える長さのVARCHAR2
またはNVARCHAR2
列と、2000バイトを超える長さのRAW
列を含む表は、データ・ポンプのダンプ・ファイルから除外されます。 -
データ・ポンプのパラメータ
VERSION=12
を使用してOracle Database 11gリリースで作成したダンプ・ファイルは、Oracle Database 12cリリース1 (12.1)以上でのみインポートできます。
例
次の例は、メタデータのバージョンがデータベースのリリースに対応している場合のエクスポートの例を示します。
> expdp hr TABLES=hr.employees VERSION=LATEST DIRECTORY=dpump_dir1 DUMPFILE=emp.dmp NOLOGFILE=YES
2.4.48 VIEWS_AS_TABLES
デフォルト: デフォルト値は設定されていません。
注意:
VIEWS_AS_TABLES
パラメータによって、暗号化されていない形式のビュー・データはアンロードされ、暗号化されていない表が作成されます。機密データをアンロードする場合、エクスポート操作で暗号化を有効にし、必ず暗号化された表領域に表を作成することをお薦めします。REMAP_TABLESPACE
パラメータを使用して、このような表領域に表を移動できます。
用途
1つ以上のビューを表としてエクスポートするように指定します。
構文および説明
VIEWS_AS_TABLES=[schema_name.]view_name[:table_name], ...
データ・ポンプによって、ビューと同じ列を持ち、ビューからフェッチされた行データを持つ表がエクスポートされます。データ・ポンプでは、ビューに依存する権限や制約などのオブジェクトもエクスポートされます。表に適用されない依存オブジェクト(UNDER
オブジェクト権限の付与など)は、エクスポートされません。VIEWS_AS_TABLES
パラメータは、単独で使用するか、TABLES
パラメータと組み合せて使用します。どちらを使用しても、データ・ポンプでは表モード・エクスポートが実行されます。
構文要素の定義は次のとおりです。
schema_name
: ビューが存在するスキーマの名前。スキーマ名を指定しない場合、デフォルトで、エクスポートを実行するユーザーになります。
view_name
: 表としてエクスポートするビューの名前。ビューは存在し、LOB以外のスカラー列のみを含むリレーショナル・ビューである必要があります。無効なビューや存在しないビューを指定すると、そのビューはスキップされてエラー・メッセージが返されます。
table_name
: エクスポートされるビューのメタデータのソースとなる表の名前。デフォルトでは、データ・ポンプによって、ビューと同じ列およびデータ型を持つ、行の含まれない一時的なテンプレート表が自動的に作成されます。データベースが読取り専用の場合、このテンプレート表のデフォルトの作成には失敗します。この場合、表名を指定できます。表は、ビューと同じスキーマに属している必要があります。これは、ヒープ構成のパーティション化されていないリレーショナル表である必要があります。ネストした表にすることはできません。
テンプレート表が明示的に指定された複数のビューがエクスポート・ジョブに含まれる場合、それらのテンプレート表はすべて異なっている必要があります。たとえば、2つのビューで同じテンプレート表を使用している次のジョブでは、ビューの1つがスキップされます。
expdp scott/tiger directory=dpump_dir dumpfile=a.dmp views_as_tables=v1:emp,v2:emp
オブジェクトの省略をレポートするエラー・メッセージが返されます。
テンプレート表は、エクスポート操作の完了後に自動的に削除されます。それらが存在している間は、次の問合せを実行してその名前を表示できます(名前はすべてKU$VAT
で始まります)。
SQL> SELECT * FROM user_tab_comments WHERE table_name LIKE 'KU$VAT%'; TABLE_NAME TABLE_TYPE ------------------------------ ----------- COMMENTS ----------------------------------------------------- KU$VAT_63629 TABLE Data Pump metadata template table for view SCOTT.EMPV
制限事項
-
VIEWS_AS_TABLES
パラメータは、TRANSPORTABLE
=ALWAYS
パラメータと組み合せて使用することはできません。 -
VIEWS_AS_TABLES
パラメータを使用して作成された表には、指定したビューの一部であった非表示列は含まれません。 -
VIEWS_AS_TABLES
パラメータでは、LONG
のデータ型の列のある表をサポートしていません。
例
次の例では、ビューscott.view1
の内容をscott1.dmp
というダンプ・ファイルにエクスポートします。
> expdp scott/tiger views_as_tables=view1 directory=data_pump_dir dumpfile=scott1.dmp
ダンプ・ファイルには、ビューからフェッチされた行を持つview1
という表が含まれます。
2.5 エクスポート・ユーティリティの対話方式コマンド・モードで使用可能なコマンド
対話方式コマンド・モードでは、現行のジョブは継続して続行されますが、端末へのロギングは一時停止され、エクスポート・プロンプト(Export>
)が表示されます。
-
接続されたクライアントから、[Ctrl]を押しながら[C]を押します。
-
ジョブを実行している端末以外の端末から、
expdp
コマンドでATTACH
パラメータを指定してジョブに接続します。この機能は、ある場所で開始したジョブを、後で別の場所から確認する場合に有効です。
表2-1に、現行のジョブに対して対話方式コマンド・モードでデータ・ポンプ・エクスポート・プロンプトから実行できる操作を示します。
表2-1 データ・ポンプ・エクスポートの対話方式コマンド・モードでサポートされているコマンド
操作 | 使用するコマンド |
---|---|
追加ダンプ・ファイルを追加する。 |
|
対話方式モードを終了し、ロギング・モードに切り替える。 |
|
ジョブは続行したままエクスポート・クライアント・セッションを停止する。 |
|
ダンプ・ファイルのデフォルト・サイズを再定義して、その後のすべてのダンプ・ファイルに適用する。 |
|
使用可能なコマンドの概要を表示する。 |
|
現在接続中のすべてのクライアント・セッションを切断し、現行のジョブを停止する。 |
|
現行のジョブに対するアクティブなワーカー・プロセスの数を増減する。このコマンドは、Oracle Database 11g以上のEnterprise Editionでのみ有効。 |
|
接続している停止ジョブを再開する。 |
|
現行のジョブの詳細な状態を表示したり、状態の表示周期を設定する。 |
|
後で再開するために、現行のジョブを停止する。 |
親トピック: データ・ポンプ・エクスポート
2.5.1 ADD_FILE
用途
構文および説明
ADD_FILE=[directory_object:]file_name [,...]
各ファイル名に、異なるディレクトリ・オブジェクトを指定できます。ディレクトリ・オブジェクトを指定しない場合は、デフォルトが使用されます。
file_name
に、ディレクトリ・パスの情報を含めないでください。ただし、置換変数(%U
)を含めることはできます。この置換変数は、指定されたファイル名をテンプレートとして使用し、複数のファイルが生成できることを示します。
追加されるファイルのサイズは、FILESIZE
パラメータの設定によって決定されます。
例
次の例では、2つのダンプ・ファイルをダンプ・ファイル・セットに追加します。ダンプ・ファイルhr2.dmp
に、ディレクトリ・オブジェクトが指定されていないため、ジョブに対するデフォルトのディレクトリ・オブジェクトを使用するとします。別のディレクトリ・オブジェクトdpump_dir2
が、ダンプ・ファイルhr3.dmp
に指定されています。
Export> ADD_FILE=hr2.dmp, dpump_dir2:hr3.dmp
関連項目:
置換変数を指定した場合の効果の詳細は、「ファイルの割当て」を参照してください
2.5.2 CONTINUE_CLIENT
用途
構文および説明
CONTINUE_CLIENT
ロギング・モードでは、状態が端末に継続的に出力されます。ジョブが現在停止している場合、CONTINUE_CLIENT
を指定すると、クライアントがジョブの開始を試みます。
例
Export> CONTINUE_CLIENT
2.5.3 EXIT_CLIENT
用途
構文および説明
EXIT_CLIENT
EXIT_CLIENT
では、ジョブが実行されたままになるため、後でこのジョブに接続できます。ジョブの状態を確認するには、ジョブのログ・ファイルを監視するか、USER_DATAPUMP_JOBS
ビューまたはV$SESSION_LONGOPS
ビューを問い合せることができます。
例
Export> EXIT_CLIENT
2.5.4 FILESIZE
用途
後のダンプ・ファイルの最大サイズを再定義します。ダンプ・ファイル・セット内にあるダンプ・ファイルが最大サイズになると、そのファイルはクローズされ、ファイル指定に置換変数が含まれている場合または追加ダンプ・ファイルがジョブに追加されている場合は、新しいファイルが作成されます。
構文および説明
FILESIZE=integer[B | KB | MB | GB | TB]
integer
の後に(スペースを挿入しない)、B
、KB
、MB
、GB
またはTB
(それぞれバイト、キロバイト、メガバイト、ギガバイト、テラバイトを示す)を指定できます。デフォルトは、B(バイト)です。作成されるファイルの実際のサイズは、ダンプ・ファイル内で使用されている内部ブロックのサイズと一致するように切り捨てられる場合があります。
ファイル・サイズ0は最大ファイル・サイズの16TBと同じです。
制限事項
-
ファイルの最小サイズは、デフォルトのデータ・ポンプ・ブロック・サイズの10倍、つまり4KBです。
-
ファイルの最大サイズは16TBです。
例
Export> FILESIZE=100MB
2.5.6 KILL_JOB
用途
構文および説明
KILL_JOB
KILL_JOB
を使用して中断されたジョブは、再開できません。接続中のすべてのクライアント(KILL_JOB
コマンドを発行しているクライアントを含む)は、現在のユーザーがジョブを停止しているという警告を受け取った後、切断されます。すべてのクライアントが切断されると、ジョブのプロセス構造が即時に停止し、マスター表およびダンプ・ファイルが削除されます。ログ・ファイルは、削除されません。
例
Export> KILL_JOB
2.5.7 PARALLEL
用途
現行のジョブに対してアクティブなプロセス(ワーカーおよびパラレル・スレーブ)の数を増減できます。
構文および説明
PARALLEL=integer
PARALLEL
は、コマンドライン・パラメータおよび対話方式コマンド・モードのパラメータとして使用可能です。必要な数のパラレル・プロセス(ワーカーおよびパラレル・スレーブ)を設定できます。増加処理は、ファイルとリソースが十分にある場合は即時に実行されます。減少処理は、既存のプロセスが現行のタスクを終了してから実行されます。値を小さくすると、ワーカーはアイドル状態になりますが、ジョブが終了するまで削除はされません。
制限事項
-
このパラメータは、Oracle Database 11g以上のEnterprise Editionでのみ有効です。
-
トランスポータブル表領域のメタデータは、パラレルでエクスポートできません。
NETWORK_LINK
パラメータも使用されていると、メタデータはパラレルでエクスポートできなくなります- 次のオブジェクトはパラレルでエクスポートできません。
TRIGGER
VIEW
OBJECT_GRANT
SEQUENCE
CONSTRAINT
REF_CONSTRAINT
例
Export> PARALLEL=10
関連項目:
並列度の詳細は、「PARALLEL」を参照してください
2.5.8 START_JOB
用途
構文および説明
START_JOB
START_JOB
コマンドは、ジョブが現在実行中の場合を除き、接続している現行のジョブを開始します。ダンプ・ファイル・セットおよびマスター表が元のまま変更されていない場合は、予期しない障害またはSTOP_JOB
コマンドの発行後に、データの損失や破損なしにジョブが再開されます。
トランスポータブル表領域モードで実行されたエクスポートは、再開できません。
例
Export> START_JOB
2.5.9 STATUS
用途
構文および説明
STATUS[=integer]
ロギング・モードでのこの状態の表示頻度を秒単位で指定できるオプションがあります。値を入力しなかった場合またはデフォルト値の0を使用した場合は、状態の定期表示はオフになり、状態は1回のみ表示されます。
この状態情報は、標準出力デバイスのみに書き込まれ、ログ・ファイルには(使用可能な場合でも)書き込まれません。
例
次に、現行のジョブの状態を表示し、ロギング・モードの表示間隔を5分(300秒)に変更する例を示します。
Export> STATUS=300
2.5.10 STOP_JOB
用途
構文および説明
STOP_JOB[=IMMEDIATE]
STOP_JOB
コマンド発行時または発行後にマスター表およびダンプ・ファイル・セットに障害が発生していない場合は、そのジョブに接続し、START_JOB
コマンドを使用して再開できます。
手順に従って停止する場合は、関連する値を指定しないでSTOP_JOB
を使用します。確認を要求する警告が発行されます。手順に従った停止では、ワーカー・プロセスで現行のタスクが終了した後、ジョブが停止されます。
即時に停止するには、STOP_JOB
=IMMEDIATE
を指定します。確認を要求する警告が発行されます。接続中のすべてのクライアント(STOP_JOB
コマンドを発行しているクライアントを含む)は、現在のユーザーがジョブを停止および切断中であるという警告を受け取ります。すべてのクライアントが切断されると、ジョブのプロセス構造が即時に停止されます。マスター・プロセスは、ワーカー・プロセスで現行のタスクが終了するまで待機はしません。STOP_JOB=IMMEDIATE
を指定した場合、データ破損やデータ損失の危険性はありません。ただし、停止時に完了しなかった一部のタスクは、再開時に再実行する必要があります。
例
Export> STOP_JOB=IMMEDIATE
2.6 データ・ポンプ・エクスポートの使用例
これらの各項では、データ・ポンプ・エクスポートの使用例を示します。
- 表モード・エクスポートの実行
この例では、TABLES
パラメータを使用して指定される表モード・エクスポートを示します。 - 選択した表および行のデータのみのアンロード
この例では、選択した表および行のデータのみのアンロードを示します。 - 表モード・エクスポートに必要なディスク領域の見積り
この例では、表モード・エクスポートで使用される領域を見積もる方法を示します。 - スキーマ・モード・エクスポートの実行
この例では、スキーマ・モード・エクスポートの実行方法を示します。 - パラレル全データベース・エクスポートの実行
この例では、パラレル全データベース・エクスポートの実行方法を示します。 - 対話方式モードを使用したジョブの停止および再接続
この例では、対話方式モードを使用してジョブを停止する方法、およびジョブに再接続する方法を示します。
親トピック: データ・ポンプ・エクスポート
2.6.1 表モード・エクスポートの実行
この例は、TABLES
パラメータを使用して指定される表モード・エクスポートを示しています。
例2-1は、人事管理(hr
)スキーマから表employees
およびjobs
の表エクスポートを実行する、データ・ポンプ・エクスポート・コマンドを示しています。
ユーザーhr
は、自分のスキーマ内の表をエクスポートしているため、表名の前にスキーマ名を指定する必要はありません。NOLOGFILE=YES
パラメータは、その操作のエクスポート・ログ・ファイルが生成されないことを示します。
例2-1 表モード・エクスポートの実行
expdp hr TABLES=employees,jobs DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=YES
親トピック: データ・ポンプ・エクスポートの使用例
2.6.2 選択した表および行のデータのみのアンロード
この例は、選択した表および行のデータのみのアンロードを示しています。
例2-2に、人事管理(hr
)スキーマから、表countries
およびregions
を除くすべての表のデータのみをアンロードするために使用するパラメータ・ファイル(exp.par
)の内容を示します。employees
表から、department_id
が50以外の行がアンロードされます。行は、employee_id
順にソートされます。
次のコマンドを使用して、exp.par
パラメータ・ファイルを実行できます。
> expdp hr PARFILE=exp.par
スキーマ・モード・エクスポート(デフォルト・モード)が実行されますが、CONTENT
パラメータによって、エクスポートが表のデータのみのアンロードに効果的に制限されます。ディレクトリ・オブジェクトdpump_dir1
は、DBAによってすでに作成されています。このオブジェクトは、エクスポート・ダンプ・ファイルに対する読取りおよび書込み権限がユーザーhr
に付与されているサーバー上のディレクトリを示しています。ダンプ・ファイルdataonly.dmp
は、dpump_dir1
に作成されます。
例2-2 選択した表および行のデータのみのアンロード
DIRECTORY=dpump_dir1 DUMPFILE=dataonly.dmp CONTENT=DATA_ONLY EXCLUDE=TABLE:"IN ('COUNTRIES', 'REGIONS')" QUERY=employees:"WHERE department_id !=50 ORDER BY employee_id"
親トピック: データ・ポンプ・エクスポートの使用例
2.6.3 表モード・エクスポートに必要なディスク領域の見積り
この例では、表モード・エクスポートで使用される領域を見積もる方法を示します。
例2-3に、表モード・エクスポートで使用される領域を、ESTIMATE_ONLY
パラメータを使用して、実際のエクスポート操作を実行しないで見積もる場合の例を示します。次のコマンドを実行し、BLOCKS
メソッドを使用して、人事管理(hr
)スキーマの3つの表employees
、departments
およびlocations
のデータのエクスポートに必要なバイト数を見積もります。
見積りはログ・ファイルに出力され、クライアントの標準出力デバイスに表示されます。見積りの対象は、表の行データのみです。メタデータは含まれません。
例2-3 表モード・エクスポートに必要なディスク領域の見積り
> expdp hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=YES TABLES=employees, departments, locations LOGFILE=estimate.log
親トピック: データ・ポンプ・エクスポートの使用例
2.6.4 スキーマ・モード・エクスポートの実行
この例では、スキーマ・モード・エクスポートの実行方法を示します。
例2-4に、hr
スキーマのスキーマ・モード・エクスポートを示します。スキーマ・モード・エクスポートでは、対応するスキーマに属するオブジェクトのみがアンロードされます。スキーマ・モードは、デフォルトのモードであるため、複数のスキーマや自分のスキーマ以外を指定する場合以外、コマンドラインでSCHEMAS
パラメータを指定する必要はありません。
例2-4 スキーマ・モード・エクスポートの実行
> expdp hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log
親トピック: データ・ポンプ・エクスポートの使用例
2.6.5 パラレル全データベース・エクスポートの実行
この例では、パラレル全データベース・エクスポートを実行する方法を示します。
例2-5に、最大3つのパラレル・プロセス(ワーカーまたはPQスレーブ)を持つ全データベース・エクスポートを示します。
例2-5 パラレル全体エクスポート
> expdp hr FULL=YES DUMPFILE=dpump_dir1:full1%U.dmp, dpump_dir2:full2%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expfull.log JOB_NAME=expfull
これは、全データベース・エクスポートであるため、データベースのすべてのデータおよびメタデータがエクスポートされます。full101
.dmp
、full201
.dmp
、full102
.dmp
などのダンプ・ファイルが、dpump_dir1
およびdpump_dir2
ディレクトリ・オブジェクトで示されたディレクトリに、ラウンドロビン法で作成されます。最適なパフォーマンスを得るには、これらのファイルを個別のI/Oチャネルに配置する必要があります。各ファイルのサイズは、必要に応じて2GBまで拡張されます。最初に、最大3つのファイルが作成されます。必要に応じて、追加のファイルが作成されます。ジョブおよびマスター表は、expfull
という名前になります。ログ・ファイルは、dpump_dir1
ディレクトリのexpfull.log
に書き込まれます。
親トピック: データ・ポンプ・エクスポートの使用例
2.6.6 対話方式モードを使用したジョブの停止および再接続
この例では、対話方式モードを使用してジョブを停止したり、ジョブに再接続する方法を示します。
この例を試す前に、例2-5のパラレル全体エクスポートを再実行します。エクスポートの実行中、[Ctrl]を押しながら[C]を押します。これによって、データ・ポンプ・エクスポートの対話方式コマンド・インタフェースを起動します。対話方式インタフェースでは、端末へのロギングは停止され、データ・ポンプ・エクスポートのプロンプトが表示されます。
ジョブの状態が表示された後、CONTINUE_CLIENT
コマンドを実行して、ロギング・モードを再開し、expfull
ジョブを再起動できます。
Export> CONTINUE_CLIENT
ジョブが再オープンされたことを示すメッセージが表示され、処理の状態がクライアントに出力されます。
例2-6 ジョブの停止と再接続
エクスポート・プロンプトで、次のコマンドを実行してジョブを停止します。
Export> STOP_JOB=IMMEDIATE Are you sure you wish to stop this job ([y]/n): y
このジョブは停止状態でクライアントを終了します。
停止したジョブに再接続するには、次のコマンドを入力します。
> expdp hr ATTACH=EXPFULL
親トピック: データ・ポンプ・エクスポートの使用例
2.7 データ・ポンプ・エクスポートの構文図
この項では、データ・ポンプ・エクスポートの構文図を示します。
これらの構文図では、標準SQL構文の表記法を使用します。SQL構文の表記法の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
ExpInit
ExpStart
ExpModes
ExpOpts
ExpOpts_Cont
ExpCompression
ExpEncrypt
ExpFilter
ExpRacOpt
ExpRemap
ExpVersion
ExpFileOpts
ExpDynOpts
ExpDiagnostics
親トピック: データ・ポンプ・エクスポート