記錄-數據庫歷史數據查詢、恢復


參考博客:https://blog.csdn.net/yelllowcong/article/details/78459484

一、起因

想着在測試庫執行update語句,不小心在正式庫執行了,而且where條件寫的有問題,把想要更新之外的數據也更新了。

二、首先查詢某張表的歷史數據(根據時間點查詢)

SELECT
*
FROM
table_name AS OF timestamp to_timestamp( '2022-02-18 14:40:00', 'yyyy-mm-dd hh24:mi:ss' )

三、導出查詢的數據(表數據可能很多,自己加上where條件,查出改過的數據就好)

 

 

 

 

 

 

 

 

 全部下一步就好了,然后開始,這就導出了被修改之前的數據。

四、恢復數據

我的做法是先復制一個相同結構的空表

1.右鍵表

 

 

 2.導入剛剛導出的數據

 

 

 

 

 

 選擇文件,勾選,然后下一步

 

 

 下面這個不用改動

 

 

 下一步,然后開始,等導入完就好了。

3.導入完成后,寫sql把修改的數據再修改回去

Oracle數據庫兩表關聯更新

UPDATE T1 
SET T1.FMONEY = (select T2.FMONEY from t2 where T2.FNAME = T1.FNAME)
WHERE EXISTS(SELECT 1 FROM T2 WHERE T2.FNAME = T1.FNAME);

參考博客:https://www.cnblogs.com/gudaozi/p/8618322.html

 ok了。

五、其他博客方法

https://blog.csdn.net/weixin_35231615/article/details/116370919

如下截圖:

不知道數據恢復能不能加where條件,不恢復整張表行不行,也不知道快不快,會不會卡住其他的sql無法執行,不大敢用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM