表误删的情况

show parameter recycle;    --查看当前的用户的回收站是否打开
select * from tab;        --查看数据字典
show recyclebin;        --查看当前回收站的表
flashback table “RECYCLEBIN NAME(表的ID)” to before dorp;
drop不能加上purge参数,purge是先清空表再清空回收站数据。

表中数据误删情况

删除的数据暂时性存放在undo表空间里面

select * from 表名 as of timestamp to_date('误删数据之前的日期','yyyy-mm-dd hh24:mi:ss');
alter table 表名 enable row movement;        --开启表行迁移
flashback table 表名 to timestamp to_date('误删数据之前的日期','yyyy-mm-dd hh24:mi:ss');

闪回数据库

确保当前数据库开启了归档模式

archive log list;
select name,flashback_on,log_mode from v$database;--查看是否开启了归档和闪回
alter system set DB_RECOVERY_FILE_DEST_SIZE=2G;--设置闪回区的大小
alter system set DB_RECOVERY_FILE_DEST='/home/oracle/flash'; --设置闪回的路径
alter database FLASHBACK ON;    --开启数据库的闪回功能
select current_scn from v$database;    --查询当前的数据库的scn
startup force mount;        --强行把数据库开启到mount状态
flashback database to scn 当前数据库的scn;
alter database open;        --开启数据库