闪回删除技术,方便我们平时恢复有意无意地错误删除了的表,要知道,一般情况下,没有加purge强制删除表的
情况下,普通drop的表一般都会先放回数据库中得recyclebin(还有垃圾箱空间足够),相当window系统的垃圾箱。
我们可以先看看oracle数据库中recyclebin的结构,我们登录Scott用户
conn scott/tiger0520
SQL> desc user_recyclebin
Name Null? Type
---------------------------- ------------- --------
OBJECT_NAME NOT NULL VARCHAR2(30)
ORIGINAL_NAME VARCHAR2(32)
OPERATION VARCHAR2(9)
TYPE VARCHAR2(25)
TS_NAME VARCHAR2(30)
CREATETIME VARCHAR2(19)
DROPTIME VARCHAR2(19)
DROPSCN NUMBER
........
查看
Test1表中原有的数据:
SQL> select * from test1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
此时,我们删除表 Test1,QL> drop table test1;
Table dropped.
此外,重新重新创建一个 test1,
SQL> create table test1(
2 deptno number(2),
3 dname varchar2(10),
4 location varchar2(10));
Table created.
SQL> insert into test1 values(40,'OPERATIONS','BOSTON');
1 row created.
此时,我们想找回原来的test1表,先查看垃圾箱,SQL> show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- --------------- --------------- ------------
TEST1 BIN$PafEvIK1PW/gUwEAAH/iiQ==$0 TABLE 2016-09-29:23:02:38
以上红色的一长串字符锁代表的就是原来test1删除后的显示形式,可以查看垃圾箱删除的表,发现表结构与数据跟删除前的一样(为了容易看,用双引号“”括起来),
SQL> desc "BIN$PafEvIK1PW/gUwEAAH/iiQ==$0";
Name Null? Type
-------------------- ----------------- --------
DEPTNO NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
SQL> select * from "BIN$PafEvIK1PW/gUwEAAH/iiQ==$0";
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
此时从垃圾箱还原原来的表test1,在没有相同表名的情况下,还原后的表名跟删除前一样,SQL> flashback table "BIN$PafEvIK1PW/gUwEAAH/iiQ==$0"
2 to before drop;
flashback table "BIN$PafEvIK1PW/gUwEAAH/iiQ==$0"
*
ERROR at line 1:
ORA-38312: original name is used by an existing object
该出报错,是因为我们在删除原来的test1表后,又创建了一个表test1,为了能够还原,此时需要对从垃圾箱还原的表重新命名,此时执行语句为以下,用rename to “新表名”,
SQL> flashback table "BIN$PafEvIK1PW/gUwEAAH/iiQ==$0"
2 to before drop rename to test11;
Flashback complete.
此时查看垃圾箱,没有表在里面,已被还原,
SQL> select original_name,object_name,type,droptime
2 from user_recyclebin;
no rows selected
由此,我们的闪回删除成功,找回来误删除的表格,容易解决了生成当中遇到类似的问题。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31392094/viewspace-2125775/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31392094/viewspace-2125775/