Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1012768
  • 博文数量: 116
  • 博客积分: 3758
  • 博客等级: 中校
  • 技术积分: 1316
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 11:49
个人简介

这家伙很懒。。。

文章分类

全部博文(116)

文章存档

2016年(3)

2015年(2)

2014年(1)

2013年(9)

2012年(25)

2011年(50)

2010年(12)

2009年(14)

分类: Oracle

2011-05-03 17:05:24

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;
 
--没有对象。
 

阅读(831) | 评论(0) | 转发(0) |
0

上一篇:flashback (2)

下一篇:flashback (4)

给主人留下些什么吧!~~