1) 不要求停机,也不需要备份。
2) 无需配置,可以通过权限禁用
3) 只有本地管理(非字典管理)的非SYSTEM表空间的数据才会进入回收站,也才能使用flashback drop
4) 专门用于DROP命令,只能应用于表,被DROP的表可以在回收站被查看到(
SQL>show recyclebin;//查看
)。无法闪回TRUNCATE,被PURGE的表无法闪回。
5) 不能返回物理讹误,只能返回用户错误导致的逻辑错误。
6) 不能保证成功。删除后越早FLASHBACK,就越可能成功。
7) 同时被闪回的还有索引、触发器、授权、唯一约束、非空约束。但是外键约束无法被恢复。因为外键不是被重命名,而是被真正的删除掉了。设表A含有索引或者trigger或者约束I,如果先删除I,再删除A,则当falshback drop A 时,索引或者trigger或者约束不会被恢复
8) 使用drop user xxx cascade的表无法通过FLASHBACK DROP闪回。
SQL> select * from knight.books;//初始状态
ID NAME PRICE
------------------ ----------
200 WEBWORK 299.9
201 PMP 56.99
1 STRUTS2 199
300 DB2 299
2 AIX 50.5
3 NETWORK 125.89
4 JAVA 88.99
5 JQUERY 102.98
8 rowsselected.
SQL> drop table knight.books; //删除
Table dropped.
SQL> select * from knight.books; //已经查不到了
select * from knight.books
*
ERROR at line1:
ORA-00942:table or view does not exist
SQL> flashback table knight.books to before drop rename to newbooks; //开始闪回,并重命名
Flashback complete.
SQL> select * from knight.books; //旧名称查不到
select * from knight.books
*
ERROR at line1:
ORA-00942:table or view does not exist
SQL> select * from knight.newbooks; //新名称查到
IDNAME PRICE
------------------ ----------
200 WEBWORK 299.9
201 PMP 56.99
1 STRUTS2 199
300 DB2 299
2 AIX 50.5
3 NETWORK 125.89
4 JAVA 88.99
5 JQUERY 102.98
8 rows selected.
SQL> drop table knight.newbooks purge; //使用PURGE
Table dropped.
SQL> flashback table knight.newbooks to before drop rename to secondbooks; //无法闪回了
flashback table knight.newbooks to before drop rename to secondbooks
*
ERROR at line1:
ORA-38305:object not in RECYCLE BIN
(完)