误操作恢复数据

111 阅读1分钟

恢复误删表

1.执行以下sql语句,找到被自己误删的数据表对应的object_name;

    select * from user_recyclebin t;--查看被删掉的表

2.根据得到的object_name恢复数据表;

    flashback Table "BIN$045mLx94SO24hz4+TLwDgg==$0" to before drop; --根据object_name恢复被删除的表

恢复误删数据

 1.根据误删数据的时间,如:数据是一小时前被误删的,那么就查询一小时前的数据,看数据总数是否正确,如果不正确,继续调整时间戳,sql如下:

    select * from test1 as of timestamp sysdate - 1/24;--查看一小时前的数据总数

 2.修改表的行为可移动的,如果没有这步操作,会报错误ORA-08189alter table OWNER.test1 enable row movement;--修改表为可移动行 

 3.执行下面sql,恢复表到一小时状态;

    flashback table test1 to timestamp sysdate - 1/24;--恢复表到一小时前的状态