oracle中commit之后進(jìn)行數(shù)據(jù)回滾的方法
commit之后
第一種:
記住大概的時(shí)間,獲取前大概時(shí)間的數(shù)據(jù)。
select * from Test as of timestamp to_timestamp('2021-12-08 09:30:56','yyyy-mm-dd hh24:mi:ss');
上面的代碼就可以查看你要恢復(fù)的時(shí)間點(diǎn)的記錄,看看是不是有你想要的剛剛提交的DML相關(guān)記錄。
能看到,剩下的就簡(jiǎn)單了,可以把現(xiàn)在表中的數(shù)據(jù)備份到一個(gè)臨時(shí)表,然后把記錄插進(jìn)去原表就行了
不要用truncate刪除,不然你就回不去了,到時(shí)候你就又要哭了。
delete from Test;
insert into Test select * from Test as of timestamp to_timestamp('2021-12-08 09:30:56','yyyy-mm-dd hh24:mi:ss');
commit;
第二種:
Oracle在9i版本的時(shí)候引入了閃回技術(shù),在Oracle 10g已經(jīng)全面提供了閃回功能,主要提供了快速簡(jiǎn)單恢復(fù)數(shù)據(jù)庫(kù)誤操作的數(shù)據(jù)的恢復(fù)方法,而不用從邏輯備份或物理備份中恢復(fù)過(guò)來(lái)。
如果多次commit數(shù)據(jù)后,那可不可以閃回呢?貌似不可以。閃回只能暫存最近一次的數(shù)據(jù)操作。
閃回執(zhí)行步驟:
1.查詢最近更新數(shù)據(jù)之前的數(shù)據(jù)(以便確定是不是Commit之前的數(shù)據(jù))
select * from Test as of timestamp to_timestamp('2021-12-08 08:00:00', 'yyyy-mm-dd hh24:mi:ss');
其中Test為被誤操作的表,'2021-12-08 08:00:00'表示上次更新數(shù)據(jù)前的時(shí)間,
2.閃回操作前啟用行移動(dòng)功能(不啟用不可以閃回)
alter table Test enable row movement;
其中Test表示被誤操作的表
3.執(zhí)行閃回語(yǔ)句:
flashback table Test to timestamp TO_TIMESTAMP('20211208 15:10:00','YYYYMMDD HH24:MI:SS');
這樣被誤操作的數(shù)據(jù)就可以“找”回來(lái)了。哈哈~
注:方法來(lái)源于網(wǎng)絡(luò)整理,請(qǐng)謹(jǐn)慎操作?。?!修改數(shù)據(jù)前養(yǎng)成好習(xí)慣,手動(dòng)備份下數(shù)據(jù)!
到此這篇關(guān)于oracle中commit之后如何進(jìn)行回滾的文章就介紹到這了,更多相關(guān)oracle中commit之后如何進(jìn)行回滾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Oracle19c?ORA-00904:“WMSYS“.“WM_CONCAT“:標(biāo)識(shí)符無(wú)效問(wèn)題
這篇文章主要介紹了解決Oracle19c?ORA-00904:“WMSYS“.“WM_CONCAT“:標(biāo)識(shí)符無(wú)效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Oracle報(bào)錯(cuò):ORA-28001:口令已失效解決辦法
最近在工作中遇到了一個(gè)問(wèn)題,錯(cuò)誤是Oracle報(bào)錯(cuò)ORA-28001:口令已失效,下面這篇文章主要給大家介紹了關(guān)于Oracle報(bào)錯(cuò):ORA-28001:口令已失效的解決辦法,需要的朋友可以參考下2023-04-04
oracle安裝出現(xiàn)亂碼等相關(guān)問(wèn)題
oracle安裝過(guò)程中出現(xiàn)亂碼等一系列相關(guān)問(wèn)題,本文將介紹如何解決,需要了解的朋友可以參考下2012-11-11
解決Oracle安裝遇到Enterprise Manager配置失敗問(wèn)題
這篇文章主要介紹了Oracle安裝遇到Enterprise Manager配置失敗問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Oracle?Database?23c新特性之關(guān)聯(lián)更新和刪除示例詳解
這篇文章主要介紹了Oracle?Database?23c新特性之關(guān)聯(lián)更新和刪除的相關(guān)資料,Oracle database 23c開(kāi)始支持在UPDATE和DELETE語(yǔ)句中使用JOIN連接,獲取更新和刪除的數(shù)據(jù)源,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
修改計(jì)算機(jī)名或IP后Oracle10g服務(wù)無(wú)法啟動(dòng)的解決方法
修改計(jì)算機(jī)名或IP后Oracle10g無(wú)法啟動(dòng)服務(wù)即windows服務(wù)中有一項(xiàng)oracle服務(wù)啟動(dòng)不了,報(bào)錯(cuò),下面是具體的解決方法2014-01-01

