操作數據庫,經常會出現誤操作,昨天執行的更新操作之后發現更新錯了,只能想辦法數據恢復了,現在整理一下
第一步:查詢執行更新操作的時間
select r.FIRST_LOAD_TIME,r.* from v$sqlarea r order by r.FIRST_LOAD_TIME desc ;
執行上面那條SQL語句,在下圖的SQL_TEXT字段找到你執行更新操作的那條更新語句,找到更新操作時間
第二步:創建一張新表,把數據恢復到新創建的表里
create table t_table_recove --新表 as select * from table1--你操作的那張表 as of timestamp to_timestamp('2016-08-25/11:20:09','yyyy-mm-dd hh24:mi:ss'); --執行更新操操作的時間
第三步:恢復數據(table1是你執行更新操作的那張表 )
delete table1;--將原表的數據全部刪除 insert into table1 select * from t_table_recove;--恢復數據
第四步:查詢一下,你更新的數據又還原了
select * from table1