oracle 还原被drop的表

如果要对drop掉的表做恢复处理,而此时又已经创建了表emp,那么如何恢复该表呢(由于已经存在该表名,不能直接恢复)。方法:

1. 查看被删除的表是不是在回收站中,在的话才能恢复

select * from dba_recyclebin;(查看original_name列)

2. 由于drop掉emp表后,又新建了同名的表,所以把原来的表中数据先放到一个其他名字的表中(名字可以取个emp_del)

flashback table emp to before drop rename to emp_del;

 -- 即将恢复的表命名为其他名称的一个表。

3. 这样数据库中有两种表,一个是空的emp表(删除后重建的同名的表),一个是emp_del表(这个表存在着原来的数据)

4. 把这两个表都drop删除了

drop table emp;
drop table emp_del;

5. 把emp_del表再命名成emp,这样原来的emp表和数据都回来了

flashback table emp_del to before drop rename to emp;

select * from emp;



你可能感兴趣的:(Oracle)