Chinaunix首页 | 论坛 | 博客
  • 博客访问: 894832
  • 博文数量: 101
  • 博客积分: 2256
  • 博客等级: 大尉
  • 技术积分: 1481
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-19 17:52
文章存档

2017年(1)

2013年(2)

2012年(25)

2011年(73)

分类: Oracle

2011-04-19 18:43:04

一.闪回已经删除的表

原理:当一个表被删除时,它并不是被删除了而只是被放到了回车站(recyclebin)里了,
只要这个表还在回车站里面,就可以重新恢复。因为回车站在表空间里面,所以表空间要有
足够的磁盘空间,不然可能被删除的表会被覆盖掉。
另外,如果要使用还得是至少是oracle10g的版本,还要将回车站(recyclebin)的参数设

置为ON。

示例:


C:/Documents and Settings/jacky>sqlplus/nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 4月 1 21:21:11 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn jacky/jacky;
已连接。
SQL> select * from cat;

TABLE_NAME TABLE_TYPE
------------------------------ -----------
TEST_BLOB TABLE
TEST_BLOB2 TABLE
B_BK_LSTJLL TABLE

SQL> show recyclebin;
SQL> drop table b_bk_lstjll;

表已删除。

SQL> select * from cat;

TABLE_NAME TABLE_TYPE
------------------------------ -----------
TEST_BLOB TABLE
TEST_BLOB2 TABLE
BIN$ZdFN2GoER4SlLWmJkIGP0g==$0 TABLE

SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------

B_BK_LSTJLL BIN$ZdFN2GoER4SlLWmJkIGP0g==$0 TABLE 2011-04-01:21:23:05

SQL> --闪回命令;

SQL> flashback table b_bk_lstjll
2 to before drop;

闪回完成。

SQL> select * from cat;

TABLE_NAME TABLE_TYPE
------------------------------ -----------
TEST_BLOB TABLE
TEST_BLOB2 TABLE
B_BK_LSTJLL TABLE

SQL> --闪回成功;

注意:闪回技术只能保护非系统表空间的表,而且这些表还必须存放在本地管理的表空间中。
尽管在一个表被删除时,依赖于该表的绝大多数对象也受到回车站的保护,但是位图连接索引,
引用完整性约束等并不受回车站的保护。


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