プリントスタック TOKYO

データベースとセキュリティの世界から離れて早数年。過去の記憶を探しています。

Oracle DataPump

Oracle 10g から 9i までの EXP と IMP ユーティリティは推奨されなくなっています。それでは、新しいユーティリティは何かというと Oracle DataPump と呼ばれているものです。
優位性としては、高速で安全らしいのですが、検証もしていないのでわかりません。

まず、使う前に、実行するユーザにDIRECTORYオブジェクトの読み書き権限が必要になります。
また、このDIRECTORYもユーザ単位で指定して作成すること方がベストでしょう。

sqlplus user/password@SID
SELECT * FROM DBA_DIRECTORIES;
CREATE DIRECTORY SCOTT_DATAPUMP_DIR AS 'ディレクトリ';sqlplus /nolog
connect as sysdba
GRANT READ,WRITE ON DIRECTORY SCOTT_DATAPUMP_DIR TO ユーザ;

次に、実際の使い方ですが、以降の実行方法で行うことができます。(ブログのスペース上で改行しているように見える場合もありますが、実行行は全て1行です。)

見積もり

expdp scott/tiger@ORCL ESTIMATE_ONLY=yエクスポート
expdp scott/tiger@ORCL directory=SCOTT_DATAPUMP_DIR dumpfile=SCOTT.DMP logfile=SCOTT.LOG

エクスポートで出力ファイルを分割することもできます。

expdp user/password?directory=DIR01?dumpfile=SAMPLE.dmp,DIR02:SAMPLE02%U.dmp?logfile=DIR02:SAMPLE.LOG?filesize=20M