記一次Oracle資料庫資料找回的過程

2021-10-25 08:14:32 字數 1487 閱讀 9787

誤刪資料的前因後果一大堆就不描述了……

總計刪除6條 售後服務處理單,4條銷售退貨單,下面記錄一下資料恢復的過程:1.

首先明確我刪除記錄的兩個表分別為:銷售退貨單(m_ret_sale)、售後服務處理單(ap_v_reservices),需要注意的是 售後服務處理單 是乙個檢視(檢視本身並不儲存資料,檢視表中的資料都是**於基表,所以我雖然使用的delete from 刪除語句從檢視表中刪除了資料,但是實際上是刪除了基表中的資料,如果我想恢復檢視表資料,實際上只要恢復了基表的資料之後,檢視表中的資料自然就出來了),下面我先恢復 ap_v_reservices檢視表的基表ap_services中的資料,把他的資料恢復了檢視表的資料就回來了

根據刪除條件找到我進行刪除操作的時間點(找到刪除檢視的時間,就相當於找到了刪除ap_services基表資料的時間):

select sql_text,first_load_time,last_load_time from v$sql

where sql_text like

'%delete from ap_v_reservices%'

;

(正好6條delete資料,正是我刪除的記錄)

根據刪除的時間點,查詢刪除時間點前,該表中的資料(根據上面6個delete資料來看,最先刪除的那條記錄的時間是:2020-10-27 16:35:51,所以該時間點前,即將刪除的6條記錄都應該在表中):

也就是說,上圖中查出來的資料中,有我即將要刪除的那條資料,根據該條資料和其他表的關聯關係找到這條資料的獨有特徵是:docno欄位中包含有 psp2010000078 字串,所以我要具體找到這條資料可以新增搜尋條件:

select

*from ap_services as

oftimestamp to_timestamp(

'2020-10-27 16:35:13'

,'yyyy-mm-dd hh24:mi:ss'

)where docno=

'psp2010000044'

;

找到了該條記錄:

3.將該條記錄複製為 insert 語句,再重新插入回ap_services,就ok了,以此方法,將基表中刪除的記錄都恢復回來。

記一次SQLServer資料庫誤刪資料找回

昨天 同事在本機清理資料庫表時,連線到了生產機,誤刪了二十幾張表,幸好是晚上加班的時候刪除的,生產機上當時是一天一備份,還原備份是最後的策略,最關鍵的還是要找回資料。生產機環境是server2008 r2 sqlserver2012,使用delete語句刪除的表現在開始還原,還原可參考dudu的這篇...

記一次資料庫的實戰

話不多說 直接開始 開始我們的敲 的工程吧 首先匯入標頭檔案 import tkinter import tkinter.messagebox import pandas as pd import numpy as np import matplotlib.pyplot as plt from sk...

記一次MySQL資料庫crash事件

mysql8.0資料庫最近一次不知道怎麼回事,突然啟動不了,如下提示 mysql daemon failed to start 日誌如下 網上也找了很多資料,但都處理不了 因為本人安裝資料庫習慣將安裝好的資料庫移到移到其他目錄,所以做了乙個操作,用原來的覆蓋現有的檔案 左邊是原始資料庫檔案,右邊是移...