問題描述:使用scn號恢復誤刪數據
1.查詢系統閃回的scn值以及當前日志的scn值,因為我這個是測試,創建的表是在在后邊,所以scn值要大于下邊這兩個scn值,所以對我恢復數據沒有用,如果我創建的數據是在下邊這兩個SCN值之前,也就是比這兩個時間點SCN值小,就可以用這兩個scn用來恢復數據,但是我下邊這個實驗創建的測試表晚,就不行了
SQL> select dbms_flashback.get_system_change_number from dual;

SQL> select current_scn from v$database;

2.創建測試數據,
SQL> create table aa(id int,name varchar2(10),adress varchar2(10));

SQL> insert into aa 2 values(111,'steven','beijing');

SQL> commit;
3.這時候相當于數據創建完了,這之后的scn號碼要知道,因為上邊那兩個scn號沒有記錄這個表的信息對我沒用,如果現在查詢current_scn號就有用了,這里測試我也不麻煩了,文檔是參考的
SQL> select dbms_flashback.get_system_change_number from dual;

這個scn值是可以用來恢復數據的
4.刪除數據模擬情景,然后查詢不到數據。
SQL> delete from aa;
1 row deleted.
SQL> SQL> SQL> commit;
Commit complete.

5.恢復數據
SQL> select * from aa as of scn 1116916;

可以查詢到這個scn值以前的數據,可以用來恢復
SQL> insert into sys.aa select * from sys.aa as of scn 1116916;


現在就恢復完成。
總結
以上所述是小編給大家介紹的delete誤刪數據使用SCN號恢復,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
您可能感興趣的文章:- SqlServer2008誤操作數據(delete或者update)后恢復數據的方法