oracle flashback drop,oracle flashback 技术--flashback drop技术

从oracle10g开始,oracle引入了flashback drop的特性,当我们使用drop

table命令删除表的时候,表并不会被真实的删掉,而是变换了一个段的名称

继续保留在表空间中,我们可以使用flashback drop命令把表再恢复出来。

关于flashback

drop1.oracle引入了一个参数recyclebin,默认为on,表示drop

table会把表放在回收站里,只有在回收站里的表才可以恢复回来

2.当表所在的表空间空间不足时,oracle会自动覆盖最早删除到回收站里的数据,采用先进先出原则

3.当你把多个相同名称的对象删除,比如在回收站里有三个原始名称是T的表,oracle使用flashback

drop技术恢复时,会采用后进先出的原则,最后删

掉的表先还原回来

4.如果不想使用回收站,除了把参数recyclebin参数改为off外,还可以使用drop

table 表名称 purge;的方法

5.当删除表后,依赖于表的索引也会被删掉,当把表闪回回来后,索引也会闪回回来。

6.使用purge recyclebin命令,可以清空掉回收站。

下面是一个小例子,演示了最简单的oracle的flashback drop

SQL> create table stu(id number,name

varchar2(10)) tablespace users;

表已创建。

SQL> insert into stu values(100,'tom');

已创建 1 行。

SQL> insert into stu values(200,'mike');

已创建 1 行。

SQL> commit;

提交完成。

SQL> create index stu_n_idx on stu(name);

索引已创建。

SQL> select table_name,index_name from

user_indexes

2 where table_name='STU';

TABLE_NAME INDEX_NAME

------------------------------ ------------------------------

STU STU_N_IDX

SQL> drop table stu;

表已删除。

SQL> select table_name,index_name from

user_indexes

2 where

table_name='STU';

未选定行

SQL> show recyclebin

ORIGINAL NAME RECYCLEBIN

NAME OBJECT TYPE DROP TIME

---------------- ------------------------------ ------------

-------------------

STU BIN$/cmvSV0aTteK+UbbW1BA3g==$0

TABLE 2008-03-22:20:45:41

SQL>

SQL>

SQL> flashback table stu to before drop;

闪回完成。

SQL> show recyclebin

SQL> select table_name,index_name

from user_indexes

2 where

table_name='STU';

TABLE_NAME INDEX_NAME

------------------------------ ------------------------------

STU BIN$ADX4e7XxQOuorJKi5hM/IA==$0

SQL> alter index "BIN$ADX4e7XxQOuorJKi5hM/IA==$0"

rename to STU_N_IDX;

索引已更改。

SQL> select

table_name,index_name from user_indexes

2 where

table_name='STU';

TABLE_NAME INDEX_NAME

------------------------------ ------------------------------

STU STU_N_IDX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值