Oracle update 执行更新操作后的数据恢复

操作数据库,经常会出现误操作,昨天执行的更新操作之后发现更新错了,只能想办法数据恢复了,现在整理一下

第一步:查询执行更新操作的时间

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

 

posted @ 2016-08-26 10:11  高空燕子飞过  阅读(3619)  评论(0编辑  收藏  举报