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

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

    Oracle Database SE 10.2.0.1 から Orac…

  2. Oracle

    Oracleで統計情報を別のユーザー(スキーマ)に移行する方法

    Oracleでは統計情報のバックアップやインポートが可能ですが、別のユ…

  3. Oracle

    Statspackの取り方:テキスト形式のレポートをコマンドで出力する

    Oracleの障害や状況調査で役に立つStatspackレポートをテキ…

  4. Oracle

    [TNS-00525: 操作するには権限が不十分です] リスナーが起動できないときの対処方法

    CentOS 6のサーバにOracleを入れたり消したりしていたらリス…

コメント

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

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

最近の記事

  1. さくらのVPSにCentOS 5をインストールする方法
  2. PHP PhantomJSでFatal error: Unc…
  3. 【Oracle】DataPumpの対話式コマンドモードを抜け…
  4. CentOS7のPHP5.6にPhpSpreadsheetを…
  5. Azure仮想マシン(CentOS 7)のStandardデ…
PAGE TOP