日期:2014-05-16  浏览次数:20564 次

关于ORACLE的闪回操作

以前一直以为ORACLE的闪回如果对于同一命名的对象只能闪回最后一次删除的对象,但是今天看了下ORACLE的回收站user_recyclebin表后发现对于同一命名的对象删除后再回收站中都能找到一条记录,只是如果闪回的话第一次是闪回最后一次删除的对象,如果将该对象PURGE删除后,再闪回一次,则恢复的是倒数第二次删除的对象,依次类推。

实际操作:

建立测试表:

?

create  table test_table(
test_column  number
);

?

?删除该表;

再建立一次该表,此次插入一条记录

?

insert into test_table values(1);

?再删除该表,再建立该表一次,再插入一条记录,

?

insert into test_table values(2);

?

再删除该表,这是再user_recyclebin表中会发现有三条表名为test_table的记录,

这时使用flashback table test_table to before drop恢复被删除的表,再

select * from test_table,会发现恢复的是最后一次删除的表,purge删除后,再flashback table test_table to before drop一次会发现恢复的是第二次删除的表,依次类推!

?

清除回收站中的所有表:

purge recyclebin;