oracle 误删除表的几种恢复方法

2025-03-06 14:16:42
推荐回答(2个)
回答1:

误删数据(delete)的话,可以在undo空间找到最近的数据(根oracle设置的undo大小有关)一般刚删除的还是有机会找到的,自己根据SQL修改时间饥渴

SELECT *
  FROM 表名 AS OF TIMESTAMP to_date('2018-07-19 08:01', 'yyyy-mm-dd HH24:mi')
 WHERE 可以带条件;

如果是误删表(drop)的话。需要在回收站是否启用,查看回收站中表

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;
flashback table 表名 to before drop;
--或
flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop;

中间这一串BIN…… 是在回收站表中找到对应的名字

回答2:

你说的是表被drop了,还是数据被delete?