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