OracleのFLASHBACKテーブルをPURGEする。
Oracle10gからFLASHBACKが有効になっている場合は、単純にDROP TABLEしても元のテーブルがゴミ箱(RECYCLEBIN)に残っている。
しかし、DROP TABLEなんてテスト環境でしか実行しないので、FLASHBACKはあまり必要ない。
なので、通常はゴミ箱を経由しないようにDROP TABLEしている。
FLASHBACKしないDROP TABLE
DROP TABLE TABLE_TEST_01 PURGE;
これで、RECYCLEBINに保存せずにDROPできる。
PURGEを忘れてしまった場合
たまにPURGEを付けるのを忘れてしまい、BIN$…なテーブルが残ってしまう。それを消したいとき。
PURGE TABLE TABLE_TEST_01;
とすることで削除することができる。
ゴミ箱内のテーブルがすべて不要であれば、ゴミ箱ごとPURGEできる。
PURGE RECYCLEBIN;
まとめ
もし、DROP TABLEが本当に誤りだった場合、FLASHBACK TABLE文でテーブルを元に戻せる。
FLASHBACK TABLE TABLE_TEST_01 TO BEFORE DROP;
これで助かることがあるかもしれない。やっぱりFLASHBACHは残しておくべきだろうか・・・。
同じタグの記事
同じカテゴリの記事
コメントを残す