兩種閃回查詢的使用實驗

來源:互聯網
上載者:User

SQL>select * from test;12
一、按照SCN進行恢複SQL>select * from sys.smon_scn_time order by time_dp desc;
30970780
scn 與時間的對應關係:每隔5分鐘,系統產生一次系統時間標記與scn的匹配並存入sys.smon_scn_time表

SQL>delete from test;
SQL>select * from test as of scn 30970780
12可以看到在這個檢查點的錶的歷史情況

SQL>insert intotest select * from test as of scn 30970780恢複test該時間點的資料
二、按照時間點恢複為了看到更準確的時間點,可以建立一個暫存資料表用於查看實驗的時間點:create table rec_date(date_scn date);刪除之前存入時間:SQL>insert into rec_date select sysdate from dual;
使用儲存的時間點進行恢複:DECLARE 
Restore_scn date; 
BEGIN 
Select date_scn into restore_scn from rec_date; 
Dbms_flashback.enable_at_time (restore_scn); 
END;/
備忘:1、SMON_SCN_TIME表基礎知識(來自惜分飛的http://www.xifenfei.com/2754.html)

(1)、作用:由smon收集scn和time映射關係,用於flashback/查詢scn和time對應關係等操作。

(2)、保留條數:官方文檔給出說明instance number N * 12 times per hour * 24 hours * 5 days = 1440N rows,因為每次的時間間隔不是非常準確的5分鐘,所以在具體的條數在實際生產環境中有一定的出入。

(3)、採集和刪除:smon進程沒5分鐘採集一次插入到SMON_SCN_TIME表中,同時將刪除曆史資料(超過5天前資料)。

(4)、當查詢scn對應time,如果scn超過SMON_SCN_TIME表範圍,將提示錯誤;或者查詢time對應的scn,如果超過範圍也同樣報錯。

(5)、scn計算方法SCN=(SCN_WRP * 4294967296) + SCN_BAS

(6)、對於drop的表,閃回查詢不能恢複。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.