中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle中commit之后該怎么進行數據回滾

發布時間:2021-12-31 14:02:08 來源:億速云 閱讀:133 作者:柒染 欄目:開發技術

這篇文章將為大家詳細講解有關oracle中commit之后該怎么進行數據回滾,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

commit之后

第一種:

記住大概的時間,獲取前大概時間的數據。

select * from Test as of timestamp to_timestamp('2021-12-08 09:30:56','yyyy-mm-dd hh34:mi:ss');

上面的代碼就可以查看你要恢復的時間點的記錄,看看是不是有你想要的剛剛提交的DML相關記錄。

能看到,剩下的就簡單了,可以把現在表中的數據備份到一個臨時表,然后把記錄插進去原表就行了

不要用truncate刪除,不然你就回不去了,到時候你就又要哭了。

delete from Test;

insert into Test select * from Test as of timestamp to_timestamp('2021-12-08 09:30:56','yyyy-mm-dd hh34:mi:ss');
commit;

第二種:

Oracle在9i版本的時候引入了閃回技術,在Oracle 10g已經全面提供了閃回功能,主要提供了快速簡單恢復數據庫誤操作的數據的恢復方法,而不用從邏輯備份或物理備份中恢復過來。

如果多次commit數據后,那可不可以閃回呢?貌似不可以。閃回只能暫存最近一次的數據操作。
閃回執行步驟: 

  1.查詢最近更新數據之前的數據(以便確定是不是Commit之前的數據)

select * from Test as of timestamp to_timestamp('2021-12-08 08:00:00', 'yyyy-mm-dd hh34:mi:ss');

  其中Test為被誤操作的表,'2021-12-08 08:00:00'表示上次更新數據前的時間,

  2.閃回操作前啟用行移動功能(不啟用不可以閃回)

alter table Test enable row movement;

  其中Test表示被誤操作的表 

  3.執行閃回語句:

flashback table Test to timestamp TO_TIMESTAMP('20211208 15:10:00','YYYYMMDD HH24:MI:SS');

  這樣被誤操作的數據就可以“找”回來了。哈哈~

注:方法來源于網絡整理,請謹慎操作!!!修改數據前養成好習慣,手動備份下數據!

關于oracle中commit之后該怎么進行數據回滾就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

毕节市| 河池市| 鹤峰县| 大埔县| 阿荣旗| 乌审旗| 长海县| 武山县| 拜城县| 岳池县| 凌源市| 墨竹工卡县| 淮滨县| 沽源县| 大姚县| 虎林市| 遂溪县| 清徐县| 平果县| 昌江| 柘城县| 汶川县| 邯郸市| 麻城市| 辛集市| 泰来县| 龙里县| 南雄市| 福泉市| 蒲江县| 嘉峪关市| 偏关县| 武清区| 达孜县| 保康县| 龙南县| 河津市| 米脂县| 张家界市| 无锡市| 安西县|