读书人

oracle回复drop表误操作

发布时间: 2013-01-19 11:41:36 作者: rapoo

oracle恢复drop表误操作
转自:http://www.2cto.com/database/201203/125529.html.在oracle10g中,如果不小心drop掉一张表,能不能恢复呢?答案是肯定的,在oracle10g中,当使用命令drop table tablename 命令时,其实不会真正的删除该表,而是把表放到了回收站中(回收站的概念类似windows中的回收站),所以我们可以通过flashback命令来恢复drop掉的表,下面就该问题做一个小小的研究?我们先创建一张表Create table test (Id int,Name varchar(20))再插入几条数据insert into test(id,name) values(1,'a');insert into test(id,name) values(2,'b');commit;好了,为了更好观察,我们先执行下面的命令清空一下回收站Purge recyclebin;SQL> select original_name,dropscn from recyclebin;未选定行好了,回收站已经清空了下面再把上面创建的test表drop掉,再看下回收站SQL> drop table test;表已删除。? SQL> select original_name,dropscn from recyclebin;ORIGINAL_NAME 1743435SQL> flashback table test to before drop;闪回完成。SQL> select * from test;ID NAME---------- --------------------1 a2 bdrop时使用了purge选项,所以该drop没有放入回收站,那为什么执行flashback table时又恢复成功了呢?能过上面的实验可以看到,恢复的是我们第一次创建的test表,而第二次创建的test表就无法恢复了?

读书人网 >其他数据库

热点推荐