兩種方法:(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...