プライマリ・コンテンツに移動
Oracle® Databaseユーティリティ
12cリリース1 (12.1.0.2)
B71303-09
目次へ移動
目次
索引へ移動
索引

前
次

データ・ポンプ・レガシー・モードでのファイルの場所の管理

オリジナルのバージョンはクライアントベース、データ・ポンプはサーバーベースであるため、オリジナルのエクスポートとインポート、およびデータ・ポンプ・エクスポートとデータ・ポンプ・インポートは、ダンプ・ファイルとログ・ファイルの書込み/読取りを行える場所によって異なります。

オリジナルのエクスポートおよびインポートでは、FILEパラメータとLOGパラメータを使用して、それぞれダンプ・ファイル名とログ・ファイル名を指定します。これらのファイル名は常にクライアント・システムに対してローカルなファイルを参照し、パスの指定を含めることもできます。

データ・ポンプ・エクスポートおよびデータ・ポンプ・インポートでは、DUMPFILEパラメータとLOGFILEパラメータを使用して、それぞれダンプ・ファイル名とログ・ファイル名を指定します。これらのファイル名は常にサーバー・システムに対してローカルなファイルを参照し、パス情報を含めることはできません。かわりに、ディレクトリ・オブジェクトを使用して、パス情報を間接的に指定します。ディレクトリ・オブジェクトによって定義されるパス値は、サーバーからアクセスできる必要があります。ディレクトリ・オブジェクトは、データ・ポンプ・ジョブ用にDIRECTORYパラメータを使用して指定されます。DUMPFILEパラメータおよびLOGFILEパラメータに渡されるファイル名にディレクトリ・オブジェクトを付加することもできます。データ・ポンプを使用する特権ユーザーは、ディレクトリ・オブジェクトがコマンドラインで指定されていない場合に、デフォルト・ディレクトリ・オブジェクトを使用できます。このデフォルトのディレクトリ・オブジェクトDATA_PUMP_DIRは、インストール時に設定されます。

データ・ポンプのレガシー・モードを有効にし、オリジナルのエクスポートのFILE=filespecパラメータまたはLOG=filespecパラメータ(あるいはその両方)をコマンドラインに指定すると、次の優先順位ルールで、ファイルの場所が決まります。

注意:

コマンドラインにFILEパラメータとLOGパラメータの両方を指定した場合は、優先順位ルールがそれぞれのパラメータに個別に適用されます。

また、オリジナルのエクスポートおよびインポートとデータ・ポンプ・エクスポート、データ・ポンプ・インポートのパラメータが混在する場合は、個別のルールがそれぞれ適用されます。たとえば、次のコマンドを指定したとします。

expdp system FILE=/user/disk/foo.dmp LOGFILE=foo.log DIRECTORY=dpump_dir

この項で説明したとおり、データ・ポンプのレガシー・モードによるファイル管理ルールが、FILEパラメータに適用されます。通常の(レガシー・モードではない)データ・ポンプのファイル管理ルールは、「ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置」で説明されているとおりに、LOGFILEパラメータに適用されます。

  1. パスの位置がファイル指定の一部として指定されると、データ・ポンプはエクスポート・ジョブを実行するスキーマからアクセスでき、そのパスの位置がファイル指定でのパスの位置に一致するディレクトリ・オブジェクトの検索を試行します。そのようなディレクトリ・オブジェクトが見つからないと、エラーが返されます。たとえば、USER_DUMP_FILESという名前のサーバーベースのディレクトリ・オブジェクトが'/disk1/user1/dumpfiles/'のパス値とともに定義されていて、このディレクトリ・オブジェクトへの読取り/書込みアクセス権限がhrスキーマに付与されているとします。次のコマンドを実行すると、データ・ポンプはそのパス値に'/disk1/user1/dumpfiles/'が含まれ、そのhrスキーマに読取り/書込みアクセス権限が付与されているサーバーベースのディレクトリ・オブジェクトを探します。

    expdp hr FILE=/disk1/user1/dumpfiles/hrdata.dmp
    

    その場合、データ・ポンプはディレクトリ・オブジェクトUSER_DUMP_FILESを使用します。この例で使用されているパス値'/disk1/user1/dumpfiles/'は、Oracle Databaseからアクセスできるサーバー・システム上のパスを参照している必要があります。

    パスの位置がファイル指定の一部として指定されている場合は、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトが無視されます。たとえば、次のコマンドを実行すると、データ・ポンプはファイル・パラメータのDPUMP_DIRディレクトリ・オブジェクトを使用せず、かわりにそのパス値に'/disk1/user1/dumpfiles/'が含まれ、そのhrスキーマに読取り/書込みアクセス権限が付与されているサーバーベースのディレクトリ・オブジェクトを探します。

    expdp hr FILE=/disk1/user1/dumpfiles/hrdata.dmp DIRECTORY=dpump_dir
    
  2. パスの位置がファイル指定の一部として指定されない場合は、DIRECTORYパラメータに指定されたディレクトリ・オブジェクトが使用されます。たとえば、次のコマンドを実行すると、データ・ポンプはDPUMP_DIRディレクトリ・オブジェクト用に定義されたパスの位置をhrdata.dmpファイルに適用します。

    expdp hr FILE=hrdata.dmp DIRECTORY=dpump_dir
    
  3. パスの位置がファイル指定の一部として指定されず、DIRECTORYパラメータにディレクトリ・オブジェクトが指定されていない場合は、データ・ポンプによって次のように動作が順次実行されます。

    1. データ・ポンプはDATA_PUMP_DIR_schema_nameという形式のディレクトリ・オブジェクトを探します。ここでのschema_nameは、データ・ポンプ・ジョブを実行するスキーマです。たとえば、次のコマンドを実行すると、データ・ポンプはDATA_PUMP_DIR_HRという名前のサーバーベースのディレクトリ・オブジェクトを探します。

      expdp hr FILE=hrdata.dmp
      

      また、hrスキーマには、このディレクトリ・オブジェクトへの読取り/書込みアクセス権限が付与されている必要があります。そのようなディレクトリ・オブジェクトが存在しないとき、処理は手順bに進みます。

    2. データ・ポンプは、クライアントベースの環境変数DATA_PUMP_DIRを探します。たとえば、DUMP_FILES1という名前のサーバーベースのディレクトリ・オブジェクトが定義されていて、hrスキーマにそのオブジェクトへの読取り/書込みアクセス権限が付与されているとします。その場合は、クライアント・システムで、次のようにDUMP_FILES1を指すように環境変数DATA_PUMP_DIRを設定します。

      setenv DATA_PUMP_DIR DUMP_FILES1
      expdp hr FILE=hrdata.dmp
      

      データ・ポンプは、次にサーバーベースのディレクトリ・オブジェクトDUMP_FILES1hrdata.dmpファイルに対して使用します。

      クライアントベースの環境変数DATA_PUMP_DIRが存在しないとき、処理は手順cに進みます。

    3. データ・ポンプ・ジョブを実行するスキーマにDBA権限があると、デフォルトのデータ・ポンプ・ディレクトリ・オブジェクトDATA_PUMP_DIRが使用されます。このデフォルトのディレクトリ・オブジェクトは、インストール時に設定されます。たとえば、次のコマンドを実行すると、データ・ポンプはシステムにDBA権限があるとみなし、デフォルトのDATA_PUMP_DIRディレクトリ・オブジェクトを使用しようとします。

      expdp system FILE=hrdata.dmp

関連項目:

通常モードのデータ・ポンプ(レガシー・モードではない)でのデータ・ポンプのファイル管理優先順位ルールの詳細は、「ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置」を参照してください