表误删的情况
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; --开启数据库
评论