Data Pumpの概念

Oracle Data Pumpの概要

Oracle Data Pumpテクノロジを使用すると、データおよびメタデータをデータベース間で非常に高速に移動できる。

Data Pumpのコンポーネント
  • コマンドライン・クライアントexpdpおよびimpdp
  • PL/SQLパッケージDBMS_DATAPUMP(Data Pump API)
  • PL/SQLパッケージDBMS_METADATA(メタデータAPI)
Data Pumpユーティリティとオリジナルのexp、impの違い
  • Data Pumpユーティリティはオリジナルのエクスポート・ユーティリティ(exp)およびインポート・ユーティリティ(imp)と完全に別のユーティリティである。
  • Data Pumpユーティリティで生成されるダンプ・ファイルと、オリジナルのエクスポート・ユーティリティで生成されたダンプ・ファイルには互換性が無い。
新機能
  • Data Pumpジョブのかわりに動作するアクティブな実行スレッドの最大数を指定する機能。
  • Data Pumpジョブを再開する機能。
  • ジョブ自体には影響を与えずに、長時間実行しているジョブを切断し再接続する機能。
  • ネットワークを介したエクスポートおよびインポート操作のサポート。
  • ソース・データ・ファイルが参照されるすべてのDDL文内でソース・データ・ファイル名を別の名前に変更するインポート・ジョブの機能。
  • インポート操作中に表領域を再マップするためのサポート強化。
  • オブジェクトおよびオブジェクト型に基づいてエクスポートおよびインポートされるメタデータのフィルタ処理に対するサポート。
  • 実行中のジョブの監視およびそのジョブとの対話を可能にする対話方式コマンド・モードのサポート。
  • エクスポートを実際に実行せずに、エクスポート・ジョブで使用される領域を見積もる機能。
  • 移動するデータベース・オブジェクトのバージョンを指定する機能。
  • ほとんどのData Pumpのエクスポートおよびインポート操作の、Oracleデータベース・サーバーでの実行。
特権ユーザー

Data Pumpテクノロジを使用するには、特権ユーザーである必要がある。
特権ユーザーは、EXP_FULL_DATABASEおよびIMP_FULL_DATABASEロールを所有している。特権ユーザーは、次のことを実行できる。

  • 他のユーザーが所有するデータベース・オブジェクトのエクスポートおよびインポート
  • 表領域およびスキーマの定義、システム権限、リソース・プランなどの非スキーマ・ベースのオブジェクトのエクスポートおよびインポート
  • 他のユーザーが開始したData Pumpジョブの接続、監視および制御
  • データベース・データ・ファイルに対する再マップ操作の実行
  • 自分が所有するスキーマ以外のスキーマに対する再マップ操作の実行

Data Pumpによるデータ・アクセス方法

ダイレクト・パス・ロードおよびアンロード
  • 独自の形式のダイレクト・パス・アンロードのサポート。
  • 不要な変換を削減することによるパフォーマンスの向上。
  • 追加のデータ型および変換のサポート。
外部表
  • パラレルSQLを効果的に使用できる状況で、非常に大きい表やパーティションをロードおよびアンロードする場合
  • グローバル索引またはドメイン索引が定義されている表(パーティション・オブジェクト表など)をロードする場合
  • トリガーがアクティブになっている表またはクラスタ表をロードする場合
  • 暗号化された列が含まれている表をロードおよびアンロードする場合
  • ファイングレイン・アクセス・コントロールでの挿入が使用可能な表をロードする場合
  • ロード時およびアンロード時に別の方法でパーティション化される表をロードする場合

ファイルの割当て

Data Pumpジョブで管理されるファイル
  • 移動中のデータおよびメタデータを格納するダンプ・ファイル
  • 操作に関連したメッセージを記録するログ・ファイル
  • SQLFILE操作の出力を記録するSQLファイル
ファイルのデフォルトの位置
  • Data Pumpは、クライアント・ベースではなく、サーバー・ベースであるため、ダンプ・ファイル、ログ・ファイルおよびSQLファイルには、サーバー・ベースのディレクトリ・パスを基準としてアクセスする。
  • Data Pumpでは、ディレクトリ・パスをディレクトリ・オブジェクトとして指定する必要がある。
  • ディレクトリ・オブジェクトは、ファイル・システムのディレクトリ・パスに名前をマップする。
  • Data Pump Exportユーティリティでは、次の順序でファイルの位置が判断される。
    • ディレクトリ・オブジェクトがファイル指定の一部として指定されている場合は、そのディレクトリ・オブジェクトで指定された位置が使用される。
    • ファイルにディレクトリ・オブジェクトが指定されていない場合は、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトが使用される。
    • ディレクトリ・オブジェクトが指定されていない場合、およびDIRECTORYパラメータでディレクトリ・オブジェクトが指定されていない場合は、環境変数DATA_PUMP_DIRの値が使用される。
    • 前述の3つの条件では、ディレクトリ・オブジェクトの位置を判断できない場合、特権ユーザーであれば、Data Pumpはデフォルトのサーバー・ベースのディレクトリ・オブジェクトDATA_PUMP_DIRの値を試行する。
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License