A Micro Toolbox

ソフトウェアのニッチな問題の対処記録です

Oracle 11gから10gへのデータインポート/エクスポート

Oracle 11gから10gに移したいデータがあってはまったのでメモ。

  1. 旧バージョンのexpコマンドがエクスポートしたダンプファイルは新バージョンのimpでインポートできるが、逆はできない。
  1. 旧バージョンのexpコマンドで新バージョンのOracleデータをエクスポートすれば旧バージョンのimpコマンドで読み込める。
  1. expdp/impdpならexpdpのオプションで旧バージョン用のデータエクスポートを指定できる(e.g. VERSION=10.2)。
  1. exp/impのダンプファイルとexpdp/impdpのダンプファイルは互換性がない。
  1. expdp/impdpコマンドはDIRECTORY指定が必要。
  1. expdp/impdpを実行するOracleユーザに権限付与しておく。
SQL> GRANT CREATE ANY DIRECTORY TO ユーザ名;
SQL> CREATE DIRECTORY ディレクトリ名 AS 'ディレクトリパス';
SQL> GRANT READ,WRITE ON ディレクトリ名 TO ユーザ名;
  1. Linux/UNIXでexpdp/impdpする場合はディレクトリをOracleが読み書きできる必要がある。
  1. expdpはエクスポートするファイルが存在すると失敗するので先に削除しておく。


cf.
Annals of Oracle's Improbable Errors: ORA-39070: Unable to open the log file.
Data Pump Export
Data Pump Import