oracle表删除后的表/数据恢复
查看删除的表
select * from user_recyclebin where DROPTIME >'2013-09-02 00:00:00';
- 会看到第一个列为OBJECT_NAME,这个就是删除表的名字,使用时要用这个表名
恢复表
flashback Table "BIN$5WCRYXHwI6/gQBKsPzBBtw==$0" to before drop
- 如果删除表后又重新生成了,那么此时名字已被占用,是无法恢复的,那恢复的方法是得到删除的表的内容,然后插入到已经有的表中
查找删除表的数据
select * from "OBJCET_NAME" as of timestamp to_timestamp('2013-12-05 16:43:00','YYYY-MM-DD HH24:MI:SS');
- 从删除表中的后面可以看到删除时间,上面的sql中的时间要比删除时间早,应该是个时间段,tablename是OBJCET_NAME列中的名字
将删除的数据恢复(插入)到已有的表中
insert into myTable select * from "OBJCET_NAME" as of timestamp to_timestamp('2013-12-05 16:43:00','YYYY-MM-DD HH24:MI:SS');
- 注意这种插入的恢复后,id不会是以前的id了,或者将删除后生成的重名表在此删除,然后按照时间找到第一次删除的表,然后直接恢复整个表。