JavaScriptが無効になっています。
この状態では一部の情報が表示されず、すべての機能を利用することができません。
運用時に発生するエラー
ORA-38301: リサイクルビンのオブジェクトにDDL/DMLを実行できません。
この ORA-38301: 〜 エラーは Oracle 10g からの、ごみ箱(=リサイクルビン RECYCLEBIN という名前) 機能により生成された
オブジェクトにアクセスしようとしたことによるエラー。
原因
Oracle 10g から仕様が変更され、削除されたオブジェクトが USER_TABLES に $BIN+...+ XX
という形式で表示されるようになっている。
このオブジェクトには、DDL、DML
を実行することが許可されていない。
対応
もし不要なオブジェクトしか、ごみ箱にない場合には PURGE USER_RECYCLEBIN; を行ないユーザーごみ箱の内容を消去する。
(全体 ごみ箱の削除は、 PURGE RECYCLEBIN )
この ごみ箱は テーブルスペースの容量が不足すると自動的にパージが実行される。(期限やゴミ箱サイズは設定できない)
補足
以下の SQL または、SQL*Plus SHOW コマンドを実行することで ごみ箱 の中身を調べることができる。
SELECT ORIGINAL_NAME, OBJECT_NAME, DROPTIME
FROM USER_RECYCLEBIN
ORDER BY DROPTIME DESC ;
または SQL*Plus から
SQL> SHOW RECYCLEBIN
ゴミ箱機能によって保護されないテーブル(即座に削除される)
ごみ箱機能を無効(有効)にする初期化パラメータ
初期化パラメータ RECYCLEBIN (設定後、即時反映される)
-- ごみ箱機能を OFF
ALTER SYSTEM SET RECYCLEBIN = OFF;
-- ごみ箱機能を ON (デフォルト)
ALTER SYSTEM SET RECYCLEBIN = ON;
セッションで設定
ALTER SESSION SET RECYCLEBIN = OFF;
注意:セッション単位ではうまくいかないようである。(再接続で元に戻らない:Oracle 10.2.0.1.0)
関連事項
一覧ページへ戻る
OTN (Oracle Technology Network)によるエラーメッセージによる情報だけでは、対処に困ったエラーについてのプラクティスです。
ベスト・プラクティスというわけではないので、書いてあることに固執しないで広い視野でエラー対応してください。