oracle恢復被刪除的資料

2022-07-13 18:33:15 字數 1169 閱讀 4071

兩種方法:(1)、scn方法   (2)、時間戳法

(1)、scn方法(通過scn恢復刪除資料的sql語法)

a、獲取當前資料庫的scn號

select  current_scn  from  v$database;

查詢到的scn號為:  

b、查詢當前scn號之前的scn號

select  * from  表名  as  of  scn  scn號(確定刪除的資料是否存在,如果存在則恢復資料; 如果不存在,則繼續縮小scn號)

c、恢復刪除且已經提交的資料  

flashback  table  表名  to  scn   scn號

(2)、時間戳方法

a、查詢當前系統的時間  

select  to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')  from  dual

b、select  *  from  表名   as  of  timestamp  to_timestamp('2020-02-02 15:22:00', 'yyyy-mm-dd  hh24:mi:ss')(如果不是繼續縮小範圍)

(3)、恢復刪除且已提交的資料

--開啟行移動功能(解決執行一下語句報錯的問題)

alter  table  表名  enable  row   movement;

--恢復某個時間點的資料

flashback  table  表名  to  timestamp  to_timestamp ('2020-02-02 15:21:00', 'yyyy-mm-dd hh24:mi:ss');

--關閉行移動功能

alter table  表名  disable  row  movement;

--開啟行移動功能(解決執行以下語句報錯問題)

alter   alter  表名   enable   row  movement;

--恢復某個時間點的資料

flashback  table  表名  to   timestamp to_timestamp ('2020-02-02  12:12:00', 'yyyy-mm-dd  hh24:mi:ss')   (保證此時間為刪除操作之前的操作)

--關閉行移動功能

alter  alter  表名  disable  row   movement;

參考:

Oracle 恢復被刪除的表 資料

假設表名稱為 table delete 獲得系統當前時間 如果出現 則是因為該表是被truncate的,該方法無效 假設被刪除的表名稱為 testtruncate select from user recyclebin order by droptime desc flashback table t...

Oracle表資料被刪除後的恢復

在oracle資料庫使用過程中,會存在表中資料被誤刪除的情況,如果被刪除的資料有備份,則可從備份中獲取,若表資料被刪除至發現被刪除期間沒有進行備份,則可使用oracle閃回技術進行資料恢復 適用於短時間內被刪除的資料 可恢復資料的時間根據資料庫的配置有所不同 select from 表名 as of...

oracle資料檔案被刪除後,恢復

先將資料庫設定為歸檔模式 sql plus sqlplus system system orcl as sysdba 建立實驗表空間 sql create tablespace test datafile c test.ora size 5m 建立實驗使用者 sql create user test...