create table ass (name varchar2(220));
select *from ass;
drop table ass;
select *from ass;
flashback table ass to before drop rename to aa;
select * from recyclebin;
select *from ass;
drop table ass;
select *from ass;
flashback table ass to before drop rename to aa;
闪回表到某个时间或者某个scn
1.获取删除前的scn
select dbms_flashback.get_system_change_number from dual
1787910
2.查看当前的数据
select * from hongrao
ID NAME
1 wei
3 wei
3 hong
5 rao
4 hong
5 rao
3.执行删除
delete from hongrao where id>=4
4.删除后的数据
select * from hongrao
ID NAME
1 wei
3 wei
3 hong
5.执行闪回表
flashback table hongrao to scn 1787910
注意当时通常不会这样闪回表,因为有些更新有可能也是需要的,所通常会先执行闪回查询到另一个另一个表中然后按照需要合并这两张表
即是 create table a as select * from hongrao as of 1787910 然后将a表和hongrao的表进行对比后移除错误的数据
select * from recyclebin;