OracleのFLASHBACKテーブルをPURGEする

OracleのFLASHBACKテーブルをPURGEする。

Oracle10gからFLASHBACKが有効になっている場合は、単純にDROP TABLEしても元のテーブルがゴミ箱(RECYCLEBIN)に残っている。
しかし、DROP TABLEなんてテスト環境でしか実行しないので、FLASHBACKはあまり必要ない。
なので、通常はゴミ箱を経由しないようにDROP TABLEしている。

FLASHBACKしないDROP TABLE

1
DROP TABLE TABLE_TEST_01 PURGE;

これで、RECYCLEBINに保存せずにDROPできる。

PURGEを忘れてしまった場合

たまにPURGEを付けるのを忘れてしまい、BIN$…なテーブルが残ってしまう。それを消したいとき。

1
PURGE TABLE TABLE_TEST_01;

とすることで削除することができる。
ゴミ箱内のテーブルがすべて不要であれば、ゴミ箱ごとPURGEできる。

1
PURGE RECYCLEBIN;

まとめ

もし、DROP TABLEが本当に誤りだった場合、FLASHBACK TABLE文でテーブルを元に戻せる。

1
FLASHBACK TABLE TABLE_TEST_01 TO BEFORE DROP;

これで助かることがあるかもしれない。やっぱりFLASHBACHは残しておくべきだろうか・・・。

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA