oracle找回被刪除的資料

2021-08-16 05:28:31 字數 701 閱讀 1174

oracle中如果進行裡的delete如果想要恢復:

例如檢視某一張表:

select * from vts_users

發現有2條資料

然後執行刪除表資料操作:

delete from vts_users

這是檢視scn資料:

select dbms_flashback.get_system_change_number from dual;

34284725

通過檢視小於當前scn的時候的當前表的內容,發現資料還存在:

select count(*) from vts_users as of scn 34284000;

這時將之前還存在的資料重新插入到表中:

insert into vts_users select * from vts_users as of scn 34284000;

再次檢視表:發現被刪除的資料已存在。

select * from vts_users

說明:scn(系統改變號),它的英文全拼為:system change number 

它是資料庫中非常重要的乙個資料結構。

scn提供了oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的

注釋:oracle 僅根據 scn 執行恢復。它定義了資料庫在某個確切時刻提交的版本。在事物提交時,它被賦予乙個唯一的標示事物的scn 。

oracle恢復被刪除的資料

兩種方法 1 scn方法 2 時間戳法 1 scn方法 通過scn恢復刪除資料的sql語法 a 獲取當前資料庫的scn號 select current scn from v database 查詢到的scn號為 b 查詢當前scn號之前的scn號 select from 表名 as of scn s...

Oracle資料刪除後找回

檢視當前scn數值 select dbms flashback.get system change number from dual scn與時間的對應關係 select to char sysdate,yyyy mm dd hh24 mi ss to char dbms flashback.get...

找回oracle中刪除的資料

select dbms flashback.get system change number from dual 查詢當前scn號 如果不知道刪除之前的scn號,可以進行閃回查詢 即,數字一直減小,直到找到為止 select count from table1 as of scn 205125720...