OracleのexpdpがORA-31626やORA-31633のエラーで失敗する
状況
>expdp hoge/hoge parfile=E:\backup\hoge_expdp.par Export: Release 11.2.0.1.0 - Production on 水 2月 20 11:35:41 2013 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 接続先: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production ORA-31626: ジョブが存在しません ORA-31633: マスター表"HOGE.JOB_HOGE_EXPDP"を作成できません ORA-06512: "SYS.DBMS_SYS_ERROR", 行95 ORA-06512: "SYS.KUPV$FT", 行1020 ORA-00955: すでに使用されているオブジェクト名です。
DataPumpジョブの状態を確認
>sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on 水 2月 20 11:39:13 2013 Copyright (c) 1982, 2010, Oracle. All rights reserved. SQL> connect / as sysdba 接続されました。 SQL> select job_name,state from dba_datapump_jobs; JOB_NAME ------------------------------------------------------------ STATE ------------------------------------------------------------ JOB_HOGE_EXPDP NOT RUNNING
ちなみに、パラメータファイルは以下
directory=expdp_dir1 dumpfile=hoge.dmp logfile=hoge_expdp.log job_name=job_hoge_expdp1 VERSION=10.2 SCHEMAS=hoge
対応
ジョブテーブルが残っているためなので、削除します。
まずは確認
> sqlplus /nolog SQL> connect hoge/hoge SQL> select table_name from user_tables; TABLE_NAME ------------------------------------------------------------ ACCEPTANCE ACCEPTANCE_BODY ARTICLE ARTICLE_CODE_CHANGE BUYING BUYING_BODY CLAIMED_BALANCE ... JOB_HOGE_EXPDP 49行が選択されました。
JOB_HOGE_EXPDPが残っている事が原因なので削除します。
SQL> drop table JOB_HOGE_EXPDP purge; 表が削除されました。
以上です