Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24455
  • 博文数量: 3
  • 博客积分: 168
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-04 10:55
文章分类
文章存档

2011年(3)

最近访客

分类:

2011-08-19 09:47:09

 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。这样,回收站里的表信息就可以被恢复,
或彻底清除。 执行 drop table  tablename  purge,将会把表直接删除,不放进回收站,使用flashback table tablename to before drop 不能恢复表的内容和结构以及相关的索引。
  1.通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句
flashback table tablename to before drop [rename to ]将回收站里的表恢复为原名称或指定新名称,表中数据不会丢失.
       2.清除回收站里的信息
  清除指定表:purge table ;
  清除当前用户的回收站:purge recyclebin;
       清除所有用户的回收站:purge dba_recyclebin;

一些例子:
===============================================================================
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
  Connected as test
  SQL> select * from test1;
  A B C
  -- -- ----------
  11 5
  11 10
  11 10
  13 10
  14 10
  15 10
  16 10
  17 10
  18 10
  19 10
  20 11
  11 rows selected
  SQL> create table test2 as select * from test1;s
  Table created
  SQL> select * from test2;
  A B C
  -- -- ----------
  11 5
  11 10
  11 10
  13 10
  14 10
  15 10
  16 10
  17 10
  18 10
  19 10
  20 11
  11 rows selected
  SQL> drop table test2;
  Table dropped
  SQL> select object_name, original_name, operation, type from user_recyclebin;
  OBJECT_NAME ORIGINAL_NAME OPERATION TYPE
  ------------------------------ -------------------------------- --------- -------------------------
  BIN$g5jFmA/OShC6+wsWKJiv2w==$0 TEST1 DROP TABLE
  BIN$vQwemDg4R9mK9fYJNdYzvg==$0 TEST2 DROP TABLE
  SQL> flashback table test2 to before drop rename to test3;--【to test3】将表重命名
  Done
  SQL> select * from test3;
  A B C
  -- -- ----------
  11 5
  11 10
  11 10
  13 10
  14 10
  15 10
  16 10
  17 10
  18 10
  19 10
  20 11
  11 rows selected
  SQL> select * from test2;
  select * from test2
  ORA-00942: 表或视图不存在
  --彻底删除表
  SQL> drop table test3 purge;
  Table dropped
  SQL> select * from user_recyclebin where original_name = 'TEST3';
   OBJECT_NAME ORIGINAL_NAME OPERATION TYPE TS_NAME CREATETIME DROPTIME DROPSCN PARTITION_NAME CAN_UNDROP CAN_PURGE RELATED BASE_OBJECT PURGE_OBJECT SPACE
  ------------------------------ -------------------------------- ---------
  SQL> select * from user_recyclebin;
   OBJECT_NAME ORIGINAL_NAME OPERATION TYPE TS_NAME CREATETIME DROPTIME DROPSCN PARTITION_NAME CAN_UNDROP CAN_PURGE RELATED BASE_OBJECT PURGE_OBJECT SPACE
  ------------------------------ -------------------------------- --------- BIN$g5jFmA/OShC6+wsWKJiv2w==$0 TEST1 DROP TABLE TP_TEST1 2007-08-23:07:57:28 2007-08-23:07:58:51 1411156 YES YES 53086 53086 53086 896
  --清除回收站里的表信息test1
  SQL> purge table test1;
  Done
  SQL> select * From user_recyclebin;
   OBJECT_NAME ORIGINAL_NAME OPERATION TYPE TS_NAME CREATETIME DROPTIME DROPSCN PARTITION_NAME CAN_UNDROP CAN_PURGE RELATED BASE_OBJECT PURGE_OBJECT SPACE

阅读(1313) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~