oracle 删除表从回收站恢复 (一)

2014-11-24 08:58:42 · 作者: · 浏览: 0

在10g以前是没有这个功能的,删除后就没有了,只能从备份恢复。

#将执行的操作记录在文件中,就是屏幕输出的内容

SQL>spool '/home/oracle/drop.txt'

##删除emp表

SQL> drop table emp ;

Table dropped.

#现在查看emp已经不存在了

SQL> select * from emp ;

select * from emp

*

ERROR at line 1:

ORA-00942: table or view does not exist

#查看回收站的内容

SQL> show recyclebin

ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME

---------------- ------------------------------ ------------ -------------------

EMP BIN$sGRMOtFvhCPgQKjABwAOsw==$0 TABLE 2011-10-29:06:20:34

#查看用户回收站的内容

SQL> select * from user_recyclebin

2 ;

OBJECT_NAME ORIGINAL_NAME OPERATION

------------------------------ -------------------------------- ---------

TYPE TS_NAME CREATETIME

------------------------- ------------------------------ -------------------

DROPTIME DROPSCN PARTITION_NAME CAN CAN

------------------- ---------- -------------------------------- --- ---

RELATED BASE_OBJECT PURGE_OBJECT SPACE

---------- ----------- ------------ ----------

BIN$sGRMOtFvhCPgQKjABwAOsw==$0 EMP DROP

TABLE USERS 2005-06-30:19:47:57

2011-10-29:06:20:34 517667 YES YES

51148 51148 51148 8

OBJECT_NAME ORIGINAL_NAME OPERATION

------------------------------ -------------------------------- ---------

TYPE TS_NAME CREATETIME

------------------------- ------------------------------ -------------------

DROPTIME DROPSCN PARTITION_NAME CAN CAN

------------------- ---------- -------------------------------- --- ---

RELATED BASE_OBJECT PURGE_OBJECT SPACE

---------- ----------- ------------ ----------

BIN$sGRMOtFuhCPgQKjABwAOsw==$0 PK_EMP DROP

INDEX USERS 2005-06-30:19:47:57

2011-10-29:06:20:34 517663 NO YES

51148 51148 51149 8

将回收站的表恢复出来 www.2cto.com

SQL> flashback table emp to before drop ;

Flashback complete.

再看回收站就没有东西了

SQL> show recyclebin

emp现在又可以用了

SQL> select * from emp where sal > 3000;

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- --------- ---------- ----------

DEPTNO

----------