オラクルを極める⑤!【フラッシュバック ドロップ詳細 編】
- 2008.11.10
- IT関連
手違いで、大事なテーブルを削除したことはないでしょうか?
万が一にも、DROP TABLEしようものならDB管理者にポコポコにされてしまうでしょう。
ですが、ORACLEの10Gからはこのような人為的なミスに対処するため、フラッシュバックという機能が追加されています。
フラッシュバック機能の一つ、フラッシュバック・ドロップを取り上げて見たいと思います。
■フラッシュバックド・ロップとは?
・削除した表を戻すことができる。
・データベースをオフラインにしなくてもよい。
■フラッシュバック・ドロップを行える条件
①対象テーブルのSELECT権限を持っている
②FLASHBACK ANY TABLEシステム権限もしくは、
対象テーブルに対するFLASHBACKオブジェクト権限を持っている
ORACLE 10Gから削除した表を一時的に保持しておく、リサイクル・ビンという機能が導入されました。
WINDOWSでは、ゴミ箱にあたるような機能です。
フラッシュバック・ドロップの手順書。
1.削除した表のオブジェクト名を調べる。
いつも使用している論理テーブル名では、フラッシュバック・ドロップを
行うことができないため、データベース内のオブジェクト名(物理名)を
指定する必要があります。
SELECT
OBJECT_NAME,
ORIGINAL_NAME,
DROPTIME
FROM
USER_RECYCLEBIN
ORDER BY
DROPTIME DESC
2.フラッシュバック・ドロップの実行
先ほど参照した、オブジェクト名を指定してフラッシュバック・ドロップを行います。
オブジェクト名は、ダブルクオーテーションで囲みましょう。
FLASHBACK TABLE “BIN$Wxbf2SeZMArgQAB/AQBalQ==$0” TO BEFORE DROP
3.データの確認
データが戻っていれば成功です。
これで怒られずにすみます!
余談ですが、わたしが愛用するOBJECT BROWSERでは簡単にフラッシュバック・ドロップを行うことが可能です。
アイコンのゴミ箱ボタンを押して、戻したいテーブルを選び「右クリック」「復元」。
さらに余談ですが、削除時にPUGRE区を入れるとゴミ箱に保持されず、完全に削除されます。
DROP TABLE KOKKA_KIMITSU PUGRE;
さらば
-
前の記事
ハンドルネームを使わないの? 2008.11.07
-
次の記事
オラクルを極める④!【フラッシュバック ドロップ 編】 2008.11.10