您好,登錄后才能下訂單哦!
今天閑來無事,測試一下之前誤刪數據使用SCN恢復的經過。
本人不喜歡理論那一大套長篇概論,直接開始試驗:
首先查看當前SCN值,如果刪之后沒有查scn值。可以根據scn當前值往前調試,只要保證。你delete刪除之后中間沒有其他操作。
SELECT dbms_flashback.get_system_change_number FROM dual;
SELECT CURRENT_SCN FROM V$DATABASE;
知道當前SCN號了。SCN一直在增長,這個沒啥,然后查看某一個表數據:
select * from zjw.AA;
然后刪除這個表并且commit:
delete from zjw.AA
再來查查這個表: select * from zjw.AA
沒有數據了。然后根據SCN查看當時SCN值對應的這個表的數據
select * from ZJW.AA as of scn 12637719;
有數據,說明可以,然后來使用insert插入。吧這個數據插入到當前AA表內:
insert into zjw.AA select * from zjw.AA as of scn 12637719;
然后在查看這個表數據:
select * from zjw.AA
ok
成功恢復。
這里說明一下。我前兩次差的SCN和最后使用的SCN值不一樣,這個沒關系。這個SCN值他一直再漲,所以只要是我delete之前的SCN值都可以。從我操作到delete之間的SCN任意一個都可以使用,
比如:我現在在根據SCN隨便插兩個也可以,我就用最先查到的SCN吧
如:
select from ZJW.AA as of scn 12637321;
select from ZJW.AA as of scn 12637366;
看到沒有,結果一樣。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。