Oracle10g Recycle Bin 操作

Oracle10gからテーブル削除をすると、"BIN$XXXXXX..."というテーブルができるようになり、なんだろうと疑問に思っていましたが、"Recycle Bin"という機能ということらしい。"select table_name from user_tables;"でテーブルを確認するとたくさんの"BIN$XXXXXX..."というテーブルができており、テーブル削除が普通にはできない。

  • SHOW RECYCLEBIN
  • SELECT object_name, original_name, type FROM user_recyclebin;
  • FLASHBACK TABLE "[Recycle Bin テーブル名]" TO BEFORE DROP;
  • PURGE user_recyclebin;
  • DROP TABLE [テーブル名] PURGE;

"FLASHBACK TABLE"で元のテーブルに戻すのですが、保持されていたデータまで元に戻るのでちょっとうれしい機能ではあります。確かに誤ってテーブルを削除した場合にはとても便利ですが、別のところ(user_tablesでは無いところ)に隠されていてもいい気がしますね。