読者です 読者をやめる 読者になる 読者になる

小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


【原因】ORA-38301: リサイクルビンのオブジェクトにDDL/DMLを実行できません

はじめに

「ORA-38301: リサイクルビンのオブジェクトにDDL/DMLを実行できません」のエラーメッセージが出力される際の原因について書いています。

ORA-38301: リサイクルビンのオブジェクトにDDL/DMLを実行できません

すでに削除済みのオブジェクトに対して操作を行った場合、ORA-38301のエラーになります。

1.table03というテーブルを作成します。
2.table03をdropします。

drop table table03;

3.削除されたtable03は、USER_RECYCLEBINテーブルに格納されます。
f:id:replication:20150307003156p:plain

SELECT ORIGINAL_NAME, OBJECT_NAME, DROPTIME FROM USER_RECYCLEBIN;

4.今度はOBJECT_NAMEを指定してdrop tableします。

SQL> drop table "BIN$xXDV/M0bRBylfSdCNkUcdA==$0";
drop table "BIN$xXDV/M0bRBylfSdCNkUcdA==$0"
           *
行1でエラーが発生しました。:
ORA-38301: リサイクルビンのオブジェクトにDDL/DMLを実行できません

このようにdrop tableされ、リサイクルビンに格納されたオブジェクトに対してなんらかの操作を行った場合に、ORA-38301になります。

関連記事