Oracle誤刪表如何數(shù)據(jù)恢復(fù)?
首先確定刪除數(shù)據(jù)的時間點,如果時間不正確,可能會導(dǎo)致找回的數(shù)據(jù)不全;
如:我刪除的時間是2018-09-28 11:30:00到2018-09-28 11:34:00之間,因為不確定具體時間,我選擇2018-09-28 11:30:00,而且之間我沒有進行其他的(除這次刪除外)數(shù)據(jù)插入和刪除操作,所以通過這個時間點找回的數(shù)據(jù)不會存在不全的情況
然后根據(jù)時間找到刪除的數(shù)據(jù);
select * from AT_PP_WORKINSTRUCTION as of timestamp to_timestamp('2018-09-28 11:30:00', 'yyyy-mm-dd hh24:mi:ss') where Inst_Name_s like 'GL6%';
通過這個sql:select * from 刪除數(shù)據(jù)的表名 as of timestamp to_timestamp('刪除數(shù)據(jù)之前的時間點', 'yyyy-mm-dd hh24:mi:ss') 找到你刪除之前的數(shù)據(jù),然后加上刪除的條件,例如where Inst_Name_s like 'GL6%' 找到刪除的數(shù)據(jù)
最后將刪除的數(shù)據(jù)插入到被刪除數(shù)據(jù)的表中即可。
insert into AT_PP_WORKINSTRUCTION (select * from AT_PP_WORKINSTRUCTION as of timestamp to_timestamp('2018-09-28 11:30:00', 'yyyy-mm-dd hh24:mi:ss') where Inst_Name_s like 'GL6%')
推薦教程:《Oracle教程》