--- 說明閃回數據庫
--- 使用閃回表將表內容還原到過去的特定時間點
--- 從刪除表中進行恢復
--- 使用閃回查詢查看截止到任一時間點的數據庫內容
--- 使用閃回版本查詢查看某一行在一段時間內的各個版本
--- 使用閃回事務查詢查看事務處理歷史記錄或行
優點:
閃回技術由於只能處理更改數據,所以從根本上改變了恢復技術。使用這個技術時,從錯誤中恢復花費的時間等於制造錯誤所花費的時間。當閃回技術使用時,它與介質恢復相比,在易用性、可用性和還原時間方面有明顯的優勢。
閃回數據庫使用閃回日志執行閃回。閃回刪除使用回收站。其他所有功能都使用還原數據。
閃回表 -----使用這個功能時,會還原表及其關聯對象(如索引、約束條件、觸發器等)中的數據。
所謂閃回表,就是將表裡的數據回退到歷史的某個時間點,比如回退到用戶誤刪除數據之前的時間點,從而將誤刪除的數據恢復回來,在這個操作過程中,數據庫仍然可用而且不需要額外的空間。
閃回表利用的是UNDO表空間裡記錄的數據被改變前的值,因此,如果閃回表時所需要的undo數據,由於保留時間超過了初始化參數undo_retention所指定的值,從而導致該undo數據庫數據被其他事務覆蓋的話,那麼就不能恢復到指定的時間了,除非在UNDO表空間上指定了retention guarantee選項。
使用閃回表,可將一組表恢復到特定的時間點,而不需要執行傳統時間點恢復操作。
在數據庫聯機時,通過只回退對指定表及其相關對象所做的更改,閃回表操作可原位完成。
閃回表語句可作為單個事務處理來執行。必須成功閃回所有表,否則會回退整個事務處理。
· 使用閃回表,可將一個或多個表恢復到特定的時間點,而不需要還原備份
· 從回滾段表空間檢索數據後可執行閃回表操作
· 執行閃回表操作需要FLASHBACK TABLE 權限
· 必須對要執行閃回操作的表啟動行移動
//由於閃回表的操作會修改表裡的數據,從而有可能引起數據行的移動。比如某一行數據當前在A數據塊裡,而在把表閃回到以前的某個時間點時,在那個時間上,該行數據位於B數據塊裡,於是在閃回表的操作中,數據行從當前A數據塊轉移到B數據塊,因此在閃回表之前,必須啟動數據行移動特性。
閃回表:注意事項
· 整個FLASHBACK TABLE 語句是在一個事務處理中執行的。有可能會閃回所指定表,也可能不閃回任何指定表。
· 操作進行中,閃回表獲取了該語句指定的所有表上的數據操作語言(DML)互斥鎖。
· 不會閃回受影響對象的統計信息。(該對象的統計信息不會閃回)
· 會保留所有現有的索引。不會重新創建刪除的索引。還會自動保留相關的提交時實體化視圖。
· FLASHBACK TABLE 語句會寫入預警日志文件。
· 只要不違反任何表約束條件,就閃回FLASHBACK TABLE 語句中指定的表。如果在閃回執行期間違反了任何約束條件,則會中止操作,此時表的狀態與FLASHBACK TABLE語句調用之前的狀態相同。
· (閃回不能跨DDL,比如,在閃回數據之前,做過刪除一個字段的操作,那麼是無法閃回的。)不能將表閃回到早於執行數據定義語言(DDL)操作時的某個特定時間。
· 不能對系統表、遠程表和固定表執行閃回表操作。
1. 實驗:閃回表用法
SYS@ORCL>conn tyger/tyger
Connected.
TYGER@ORCL>create table tyger as select * from scott.emp;
Table created.
TYGER@ORCL>select count(*) from tyger;
COUNT(*)
----------
14
TYGER@ORCL>select dbms_flashback.get_system_change_number from dual; //查看當前系統SCN
GET_SYSTEM_CHANGE_NUMBER
------------------------
1045621
TYGER@ORCL>delete from tyger where rownum <5;
4 rows deleted.
TYGER@ORCL>commit;
Commit complete.
TYGER@ORCL>select count(*) from tyger;
COUNT(*)
----------
10
TYGER@ORCL>alter table tyger enable row movement; //啟用表tyger的行移動
Table altered.
TYGER@ORCL>flashback table tyger to scn 1045621;
Flashback complete.
TYGER@ORCL>select count(*) from tyger;
COUNT(*)
----------
14
TYGER@ORCL>
關於閃回數據庫詳解:http://blog.csdn.net/wanghui5767260/article/details/20993843