Oracle使用了革命一的技術來形容它在Oracle 10g中引入的閃回技術。這一技術在某些情況下確實使數據的恢復變得非常簡單、快捷而且可靠。
閃回技術是這樣處理的:當一個表被刪除時,它並不是真的被刪除了,而只是被放到了回收站(recyclebin)裏了,只要這表還在回收站裏,它就可以被重新恢復(閃回)回來。該回收站被放在所在的表空間,Oracle並不保證所有刪除的表都能閃回成功。因爲當用戶在某個表空間上創建一個新表時,Oracle首先使用空閒的磁盤空間,如果沒有足夠的磁盤空間,Oracle將使用回收站的磁盤空間。因此在創建表空間時最好留出足夠的磁盤空間以方便日後進行恢復工作。
要使Oracle能夠使用這一技術,DBA還需要將系統參數recyclebin設置爲ON。
flashback相關語法:
-----------------查看recyclebin的值(flashblack是否打開)-----------------
show parameter bin;
-----------------打開flashblack功能(修改參數值on爲打開,off爲關閉)-----------------
alter system set recyclebin=on;
-----------------顯示被刪除的表-----------------
show recyclebin;
-----------------清除回收站裏的表,table_name爲表名(original name)-----------------
purge table表名;
-----------------清除回收站裏所有的表-----------------
purge recyclebin;
-----------------從回收站恢復表-----------------
flashback table 表名 to before drop;
-----------------直接刪除一張表,(不到回收站)-----------------
drop teble 表名 purge;
提示:
閃回技術只能保護非系統表空間中的表,而且這些表還必須存放在本地管理的表空間中。儘管在一個表被刪除時,依賴於該表的絕大多數對象也受到回收站的保護,但是位圖、引用完整性約束等並不受到回收站的保護。