一、恢复误删表
1.执行以下sql语句,找到被自己误删的数据表对应的object_name;
select * from user_recyclebin t;--查看被删掉的表
2.根据得到的object_name恢复数据表;
flashback Table "object_name" to before drop; --根据object_name恢复被删除的表
二、恢复误删数据
1.根据误删数据的时间,如:数据是一小时前被删掉的,查询一小时前的数据,看数据总数是否正确,如果不正确,继续调整时间,sql如下:
select * from tablename as of timestamp sysdate - 1/24;--查看一小时前的数据总数,1代表一小时,,如果需要两小时前,1改成2即可
2.修改表的行为movement,如果没有这步操作,会报ORA-08189错误。
alter table tablename enable row movement;--修改表为可移动行
3.执行下面sql,恢复表到一小时状态;
flashback table tablename to timestamp sysdate - 1/24;--恢复表到一小时前的状态,1代表一小时,,如果需要两小时前,1改成2即可。