在操作oracle的過程中,有的時候會誤操作表資料,例如更新或者刪除,如何找到誤操作前的資料呢?oracle提供了閃回技術,可以訪問過去某一時間的資料(如果時間太長或者操作過於頻繁有可能找不到),
舉例,建立表test_sj_salary,初始化指令碼
create table test_sj_salary插入了4條資料,如圖( id integer primary key,
name varchar2(100),
salary integer
);insert into test_sj_salary (id, name, salary)
values (1, '張三', 5000);
insert into test_sj_salary (id, name, salary)
values (2, '李四', 4000);
insert into test_sj_salary (id, name, salary)
values (3, '王五', 6000);
insert into test_sj_salary (id, name, salary)
values (4, '李六', 3500);
commit;
操作,例如刪除張三的資料
delete test_sj_salary where name='張三';如何找回刪除張三前的資料呢?使用這種方法找回
select *執行後能夠查詢到原來的資料from test_sj_salary
as of timestamp(systimestamp - interval '1' minute);
其中minute前面的數字根據需要可以修改
oracle閃回技術恢復誤運算元據
運算元據庫時,有時會不小心誤操作,比如執行了一些有問題的sql,導致破壞了資料,需要恢復 或者有時場景需要,要把整個表恢復到某個時間段。oracle中可以用閃回技術實現。1.原資料表的資料 做增刪改操作 對jf test2表做增刪改後 select 確定誤操作的大致時間點,取出該時間點 jf tes...
Oracle利用閃回恢復誤刪資料
相信不少可愛的程式猿都拜讀過 資料庫從刪庫到跑路 一書,我們常常會因為需求的無限變更而氣得發瘋,從而使出畢生所學,刪庫!可惜,這招威力過猛,殺敵一千自損八百,通常跑路還學不會,最後都自食惡果。好了,回歸主題,倘若真的手誤刪除了資料怎麼辦?第一時間請冷靜下來,別方,還有補救的方法。在oracle資料庫...
oracle閃回技術
1,閃回資料庫到之前某時間點 在安裝時需要開放閃回功能 不支援表空間刪除 select name from v database 看是否開啟閃回功能 select flashback on,name from v database select name from v bgprocess where...