ORACLE/recyclebin編

オラクルちょこっとリファレンス

HOME > recyclebin編

recyclebin(リサイクルビン) ※10gからの新機能

recyclebin(リサイクルビン)とはOracle10gより導入された新機能で、Windowsでいう「ゴミ箱」と同じ考え方のものです。

Oracle9iまではDROPしてしまった表を復活させたい場合には、リカバリーをかけるしかありませんでした。しかし、recyclebinが導入されたおかげで 表をDROPしても完全には削除されないため、ゴミ箱(リサイクルビン)から簡単に復活させることができるようになり大変便利になりました。

TABLEをDROPしてから復活させるまでの流れ

以下はTABLEをDROPをさせてから元に戻すまでの流れです。

TABLEをDROPしてから復活させるまでの流れ
--表(TEST_TABLE)を削除する SQL> drop table TEST_TABLE; 表が削除されました。 --リサイクルビン(ゴミ箱)の中身を確認する SQL> show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME --------------- ------------------------------ ------------ ------------------- TEST_TABLE BIN$ELBSLJRLcG/len88e3Nw==$0 TABLE 2008-03-08:10:45:01 --リサイクルビン(ゴミ箱)から表を復活させる SQL> flashback table "BIN$ELBSLJRLcG/len88e3Nw==$0" to before drop; フラッシュバックが完了しました。

RECYCLEBIN NAME は例なので環境により変ります。

以下、上記コマンドの解説です。

コマンド 説明
drop table <xx> (purge); 表をDROPします。最後に purge を付けるとリサイクルビンには移すことなく物理的に削除してしまいます。
show recyclebin; リサイクルビン(ゴミ箱)の中身を表示します。
 ORIGINAL NAME:DROP前の名称
 RECYCLEBIN NAME:DROP後の名称(DROPしてリサイクルビンに移ると、「BIN$~」で始まる名称にリネームされます。)
※USER_RECYCLEBINデータディクショナリでも確認できます。
flashback table 名称 to before drop; リサイクルビンから表を復活させます。
ここで指定する名称は、DROP前の名称ではなく、BIN$で始まるリサイクルビン名を指定してください。

リサイクルビンのクリア

リサイクルビンをクリアするには、PURGE RECYCLEBINコマンドを使用します。

リサイクルビンのクリア
PURGE RECYCLEBIN;

このコマンドを実行すると、DROPした表は完全に削除されるのでご注意ください。

ToTop