datapumpを使用するための準備手順

datapump は、oracle10g より導入された移行ツールであり、データベースに
格納されているデータやオブジェクトのメタデータのインポートやエクスポートが可能。
従来の export/import ユーティリティと比較すると、処理性能が向上している。

「データパンプ」や「データポンプ」と呼び方はまちまちだったりするが、
前者の方が多い印象。

Oracle9i まで主力であった export/import ユーティリティは、
10g や 11g でも利用することは可能だが、将来的に廃止される運命にあるため
これから使うなら datapump を利用した方がよい。

ディレクトリオブジェクトの登場

datapump を利用する場合、export/import ユーティリティでは
存在しなかった「ディレクトリオブジェクト」が必要になる。

これは名の通りオブジェクトの一種として扱われるため、
テーブルやインデックスなどと同様に権限も必要となる。

インポート時はダンプファイルの読込先となり、
エクスポート時はダンプファイルの出力先となる。

コマンドも exp/imp から、expdp/impdp に変わっている。

datapump に必要な権限

・create session
・create table
・create directory
・read, write on directory

最低限、これだけの権限が必要。
他のスキーマオブジェクトが対象の場合は、別途権限が必要となるため、
可能であればロールを付与して、 read, write on directory を追加する。

ディレクトリオブジェクトの作成

create or replace directory
  <ディレクトリオブジェクト名> as '<対象ディレクトリパス>';

注意点

・対象ディレクトリをフルパスで記載すること
・エクスポート元とインポート先の環境が異なるなら、それぞれの環境で実施すること

権限の付与

grant read, write on directory
 <ディレクトリオブジェクト名> to <ユーザ名>;


関連記事

人気ブログランキングへ

このページの先頭へ