Oracle

  (最終更新日:2018.03.23)

expdpが「すでに使用されているオブジェクト名です」と失敗する時の対処方法

expdp実行時に、下記のエラーで処理が失敗してしまう時の対処方法のメモ。

ORA-31626: ジョブが存在しません
ORA-31633: マスター表”DBTEST.EXPORTJOB”を作成できません
ORA-06512: “SYS.DBMS_SYS_ERROR”, 行95
ORA-06512: “SYS.KUPV$FT”, 行1038
ORA-00955: すでに使用されているオブジェクト名です。

原因

原因は、以前に expdp が何らかの利用で失敗した際にジョブテーブルが残ってしまった為。

ジョブテーブルの状態を確認する

というわけでジョブテーブルの状態を確認してみる。
まずはジョブの状態を確認。

下記SQLを実行して確認。ジョブ EXPORTJOB が停止しているのが確認できる。

SQL> select job_name,state from dba_datapump_jobs;

JOB_NAME
--------------------------------------------------------------------------------
STATE
--------------------------------------------------------------------------------
EXPORTJOB
NOT RUNNING

続いてジョブテーブルの存在有無を確認する。
確認するには対象のジョブを動かすユーザーで確認する必要があるので注意。

$ sqlplus DBTEST

下記SQLを流してテーブルが存在していることを確認。

SQL> select table_name from user_tables where TABLE_NAME='EXPORTJOB';

ジョブテーブルを削除

先程のジョブテーブルが残っていることが原因となっているので、テーブルを削除すれば対応完了となる。

SQL> drop table EXPORTJOB purge;
SQL> select table_name from user_tables where TABLE_NAME='EXPORTJOB';

削除後にテーブルが消えていればOK。

スポンサーリンク
スポンサーリンク

関連記事

  1. Oracle

    Oracleでカラムのデータをほぼ同じ文字数の文字で置換する方法

    つまりどういうことだってばよ!!!って言われそうですが。 噛み砕いてい…

  2. Oracle

    expdpで一貫性(整合性)を維持してバックアップする方法

    Oracleのexpdpコマンドでデータの整合性を維持した一貫性バック…

  3. Oracle

    Database linkのimpdpでORA-39113エラーが発生した原因

    Oracle Database SE 10.2.0.1 から Orac…

  4. Oracle

    SSLを無効化して非SSL(http)でOEMにアクセスする方法

    最近のIE(例えばIE10も)でOracleのOEMにアクセスすると、…

  5. Oracle

    【Oracle】テーブル指定で統計情報をバックアップ、インポートする方法とポイント

    Oracle Databaseで、テーブルを指定して統計情報をバックア…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. Azure仮想マシン(CentOS 7)のStandardデ…
  2. 【CentOS 7】特定ユーザーのクォータ設定を削除(無制限…
  3. Impdp時にtablesを使うとファンクションやストアドは…
  4. Can’t locate HTTP/Reques…
  5. 【PHP】cURLでベーシック認証のページへPOSTして結果…
PAGE TOP