操作数据库,经常会出现误操作,昨天执行的更新操作之后发现更新错了,只能想办法数据恢复了,现在整理一下
第一步:查询执行更新操作的时间
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
时间: 2024-10-26 15:16:25