在執行插入、更新、刪除等操作時,容易產生誤操作,導致數據庫中的內容被修改,通過普通的sql操作無法還原,則可採用Oralce數據庫表的閃回機制,將表數據還原到某個時間點,具體如下:
- 先查詢某個時間點的數據是否爲要還原的數據
select * from TableName
as of timestamp to_timestamp('2019-05-21 23:00:00', 'yyyy-mm-dd hh24:mi:ss'); - 開啓這張表的閃回狀態
alter table TableName enable row movement; - 把表的狀態閃回到這個時間段
flashback table TableName MS to timestamp TO_TIMESTAMP('2019-05-21 23:00:00', 'yyyy-mm-dd hh24:mi:ss'); - 關閉這張表的閃回狀態(切勿忘記執行該步驟)
alter table ITEMS disable row movement;
這時重新查詢表數據,會發現表中數據已經被還原到2019-05-21 23:00:00時的狀態了