免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 912 | 回复: 0
打印 上一主题 下一主题

flashback (3) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:43 |只看该作者 |倒序浏览
3.使用flashback drop 功能
a.背景知识:
Oracle10g提供了flashback drop的功能。而在以前的版本中,通常只能进行不完全恢复。
Oracle 10g的flashback drop功能,允许你从当前数据库中恢复一个被drop了的对象,在执行drop操作时,现在Oracle不是真正删除它,而是将该对象自动将放入回收站。对于一个对象的删除,其实仅仅就是简单的重命名操作。所谓的回收站,是一个虚拟的容器,用于存放所有被删除的对象。在回收站中,被删除的对象将占用创建时的同样的空间,你甚至还可以对已经删除的表查询,也可以利用flashback功能来恢复它, 这个就是flashback drop功能。回收站内的相关信息可以从recyclebin,user_recyclebin,dba_recyclebin等视图中获取,或者通过SQL*Plus的show recyclebin 命令查看。
 
b.测试
  1. SQL> create table t as select * from dba_users;
Table created.
 
  1. SQL> select count(*) from t;
  COUNT(*)
----------
        22
 
  1. SQL> drop table t;
Table dropped.
 
  1. SQL> select * from recyclebin;
--sysdba的drop操作不会被记录
 
SQL> conn u1/u1
Connected.

  1. SQL> create table t as select * from dba_users;
Table created.
 
  1. SQL> select count(*) from t;
  COUNT(*)
----------
        22
 
  1. SQL> drop table t;
Table dropped.
 
  1. SQL> select * from recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
SJH0             BIN$ZfALsiRTGCLgRAAEdupMww==$0 TABLE        2009-03-25:18:34:34
 
  1. SQL> flashback table t to before drop;
Flashback complete.
 
  1. SQL> desc t
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 USERNAME                                  NOT NULL VARCHAR2(30)
 USER_ID                                   NOT NULL NUMBER
 PASSWORD                                           VARCHAR2(30)
 ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)
 LOCK_DATE                                          DATE
 EXPIRY_DATE                                        DATE
 DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
 TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
 CREATED                                   NOT NULL DATE
 PROFILE                                   NOT NULL VARCHAR2(30)
 INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
 EXTERNAL_NAME                                      VARCHAR2(4000)
 
  1. SQL> select count(*) from t;
  COUNT(*)
----------
        22
 
  1. SQL> select * from recyclebin;
 
--对象没有了,被恢复了。
 
  1. SQL> drop table t;
Table dropped.
 
  1. SQL> select * from recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
SJH0             BIN$ZfALsiRbGCLgRAAEdupMww==$0 TABLE        2009-03-25:18:38:03
 
  1. SQL> purge table t;             --从回收站清除。
   
Table purged.
 
  1. SQL> select * from recyclebin;
 
--没有对象了。
 
  1. SQL> create table t as select * from dba_users;
Table created.
 
  1. SQL> select count(*) from t;
  COUNT(*)
----------
        22
 
  1. SQL> drop table t purge;                 --彻底删除一个表,不让进入回收站。
  
Table dropped.
 
  1. SQL> select * from recyclebin;
 
--没有对象。
 

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP