oracle資料被誤更新,如何回滾?

2021-10-12 17:25:12 字數 752 閱讀 9936

得益於自己的好習慣,每次更新資料都是在測試庫把sql先跑一遍,才敢到線上庫執行。其實即使出錯了,還有恢復的餘地。步驟如下。

步驟一:

select

*from js_gkb_unit as

oftimestamp to_timestamp(

'20201223 14:30:00'

,'yyyymmdd hh24:mi:ss'

)

看下這條sql,js_gkb_unit就是你要回滾的表名,後面的時間戳就是你想回滾到的時間點。執行這條語句,檢視資料,確定此時間點就是想回滾到的那個點。

步驟二:

create

table js_gkb_unit_bak as

select

*from tab as

oftimestamp to_timestamp(

'20201223 14:30:00'

,'yyyymmdd hh24:mi:ss'

);

此條語句的意思是,建立一張新錶js_gkb_unit_bak並且將js_gkb_unit這張表在此『20201223 14:30:00』,'yyyymmdd hh24:mi:ss』時間戳的資料灌入其中。

步驟三:

alter

table js_gkb_unit_bak rename

to js_gkb_unit

將表重新命名即可

恢復ORACLE被誤更新或刪除資料的辦法

有時候我們在操作oracle資料庫的時候,可能由於sql寫錯了導致把資料update錯了,或者delete刪除掉了,那麼這時候如何去恢復之前的資料呢?莫著急,我們可以採用oracle的基於時間查詢as of timestamp的辦法進行恢復資料。下面以具體例子進行講解用法。1 比如,我的wl not...

恢復ORACLE被誤更新或刪除資料的方法

有時候我們在操作oracle資料庫的時候,可能由於sql寫錯了導致把資料update錯了,或者delete刪除掉了,那麼這時候如何去恢復之前的資料呢?莫著急,我們可以採用oracle的基於時間查詢as of timestamp的辦法進行恢復資料。下面以具體例子進行講解用法。1 比如,我的wl not...

恢復ORACLE被誤更新或刪除資料的方法

有時候我們在操作oracle資料庫的時候,可能由於sql寫錯了導致把資料update錯了,或者delete刪除掉了,那麼這時候如何去恢復之前的資料呢?莫著急,我們可以採用oracle的基於時間查詢as of timestamp的辦法進行恢復資料。下面以具體例子進行講解用法。1 比如,我的wl not...