読者です 読者をやめる 読者になる 読者になる

Oracle Database Data Pump(expdp/impdp)

前提条件

  • Oracle Database がインストールされたマシンで操作を実行している。
  • エクスポート対象の Database のバージョンは 11g である。
  • インポート対象の Database のバージョンは 11g および 10g である。
  • Oracle Database 初心者

エクスポートする

DATA_PUMP_DIR のパスを確認する

Data Pump(expdp/impdp)コマンドの実行において作業ディレクトリの指定が必須になっている。
デフォルトでは DATA_PUMP_DIR で指定されたパスになる。
エクスポート対象のユーザで SQL*Plus に ログインし DATA_PUMP_DIR のパスを確認する。

ユーザー名を入力してください: {ユーザ名}/{パスワード}@{サービス名}
# DATA_PUMP_DIRのパスを確認
SQL> SELECT directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR';
エクスポート用 PARFILE を作成する

インポート対象の Database のバージョンが同じ 11g の場合

Export11g.par

DIRECTORY=DATA_PUMP_DIR
SCHEMAS={スキーマ名}
DUMPFILE={スキーマ名}_{サービス名}_11g.dmp
LOGFILE={スキーマ名}_{サービス名}_expdp_11g.log

インポート対象の Database のバージョンが異なる 10g の場合

Export10.2g.par

DIRECTORY=DATA_PUMP_DIR
SCHEMAS={スキーマ名}
DUMPFILE={スキーマ名}_{サービス名}_10.2g.dmp
LOGFILE={スキーマ名}_{サービス名}_expdp_10.2g.log
VERSION=10.2
expdp コマンドを実行する

コマンドプロンプトから以下コマンドを実行する。
DATA_PUMP_DIR に PARFILE で指定した DUMPFILE と LOGFILE が出力される事を確認する。

$> expdp {ユーザ名}/{パスワード}@{サービス名} PARFILE=Export11g.par
$> expdp {ユーザ名}/{パスワード}@{サービス名} PARFILE=Export10.2g.par

インポートする

DATA_PUMP_DIR のパスを確認する

環境によって違うため確認する。

インポート用 PARFILE を作成する

Database のバージョンが 11g → 11g の場合のインポート

Import11g.par

DIRECTORY=DATA_PUMP_DIR
DUMPFILE={スキーマ名}_{サービス名}_11g.dmp
LOGFILE={スキーマ名}_{サービス名}_impdp_11g.log

Database のバージョンが 11g → 10g の場合のインポート

Import10.2g.par

DIRECTORY=DATA_PUMP_DIR
DUMPFILE={スキーマ名}_{サービス名}_10.2g.dmp
LOGFILE={スキーマ名}_{サービス名}_impdp_10.2g.log
DATA_PUMP_DIR に DUMPFILE を配置する
impdp コマンドを実行する

コマンドプロンプトから以下コマンドを実行する。
DATA_PUMP_DIR に PARFILE で指定した LOGFILE が出力される事を確認する。

$> impdp {ユーザ名}/{パスワード}@{サービス名} PARFILE=Import11g.par
$> impdp {ユーザ名}/{パスワード}@{サービス名} PARFILE=Import10.2g.par