2018年11月27日火曜日

2018年11月6日火曜日

DataPump(expdp,impdp)処理をCtrl+C押しでキャンセルさせてしまった時の対処方法

DataPump(expdp,impdp)処理をCtrl+C押しでキャンセルさせてしまった時の対処方法

OracleでexpdpやimpdpといったData Pumpを実行中に、expコマンドのようにCtrl+Cで処理をキャンセルしてはいけません。 そこがややこしいところ。
もしCtrl+Cでキャンセルしても、処理はバックグラウンドで動き続けます
というわけで、Data Pumpを実行中に誤ってCtrl+Cでキャンセルしてしまった時の対処方法をご紹介です。

JOB名から停止する

処理のJOB名を確認します。
1$ sqlplus sys as sysdba
2select * from DBA_DATAPUMP_JOBS;
3----
4job_expdp1
5----
動作中のJOB名が job_expdp1 ということが分かりました。
あとはこのJOBを指定してコマンドモードに接続して kill_job を発行すれば完了です。
1$ expdp hoge/hogepass attach = job_expdp1
2Export> kill_job
3このジョブを停止しますか([yes]/no)yes
これでバックグラウンドで動作していたData Pump処理が強制終了されます。

元ネタ http://www.lesstep.jp/step_on_board/oracle/77/

2018年11月2日金曜日

Oracle ExpDpのパラメータ and ImpDpのパラメータ

batch file
expdp user/pass@ORCL parfile=exp_m.txt

exp_m.txt
DIRECTORY=ORA_EXP
DUMPFILE=exp_m
LOGFILE=exp_m.log
reuse_dumpfiles=YES
TABLES=(hogehome)



batch file
impdp user/pass@ORCL parfile=imp_m.txt


imp_m.txt
directory=ORA_EXP
dumpfile=exp_m.dmp
logfile=impdp_m.log
TABLE_EXISTS_ACTION=REPLACE
TABLES=(hogehoge)