误删Oracle数据库表,恢复表结构及数据
必要条件:Oracle版本必须在10G以上
操作如下:
1.先找到原有表还在数据库的时间
select timestamp_to_scn(to_timestamp('2017-02-21 09:00',
'YYYY-MM-DD HH24:MI')) as scn_number
from dual;
红色底板的时间一定是该表没有删除前的时间
查询结果如下:
2.根据scn_number找到一删除的表并且复制表结构及数据
create table temp_xxxxx as
select * from 数据库.表名 as of SCN 14173437566;
这样就可以将已删除的表结构和数据都恢复到temp_xxxxx表中