Oracleデータベースのテーブル一覧をObject Browserで見たときに、見たこともない名前のテーブルができていることがある。それが、リサイクルビンである。
リサイクルビンは、ごみ箱に入ったオブジェクトである。物理的にはまだ残っているが有効ではないオブジェクトといったイメージである。
リサイクルビンから削除するには、Purge 文を使用する。
削除方法として、以下の4通りある。
1.表を削除
Purge table [表名]
2.索引を削除
Purge index [索引名]
3.現行ユーザのリサイクルビンを削除
Purge recyclebin
4.システム全体のリサイクルビンを削除
システム全体のリサイクルビンを削除するには、sysdba権限が必要となる。
Purge dba_recyclebin
まとめ
そもそも削除時にゴミ箱に移動しないように削除するほうが良い。削除するときはバックアップを必ず取るはず。また、先のことを考えるとこのようなオブジェクトが残っていると混乱の元になる。
ゴミ箱に移動させずに削除するには、テーブル削除時に以下の構文を実行する。
Drop table [テーブル名] purge
ObjectBrowserなどのツールを使う場合は、purgeオプションを有効にして削除する。
コメント