场景一:表的误删除(drop)
找回方法:利用oracle的recyclebin,主要语句如下
flashback table 表名 to before drop [rename to 新表名]
前置条件:
1、数据库提前开启回收站(默认开启)
show parameter recyclebin;###查看是否开启,on表示开启
alter system set recyclebin=on scope=spfile; ###开启,需要重启数据库
2、被删除的表不在system表空间
3、适用于oracle10g以及之后的版本
4、对于增加purge参数的(drop table xxx purge )不适用
5、recyclebin的内容会一直保存,但当已分配表空间不够时,oracle会自动释放recyclebin的内容,依旧不够时,才会自动扩展。
场景重现:
查看回收站
show recyclebin
删除之前
select * from dept;
模拟删除
drop table dept cascade constraints;
再次查看回收站
show recyclebin;
闪回被删除的表
flashback table dept to before drop;