【Flashback】验证SYSTEM表空间上创建的表不支持Flashback Drop

  在使用闪回技术恢复被DROP的表时,需要注意,如果表是被创建在SYSTEM表空间上,则此类表一旦被DROP,将不可以使用Flashback Drop技术进行恢复。

1.验证创建在SYSTEM表空间的表不可以被闪回
1)在普通用户sec上进行测试
sys@ora10g> conn sec/sec
Connected.

2)在sec用户下创建表T,表T存放在SYSTEM表空间上
sec@ora10g> create table t (x int) tablespace SYSTEM;

Table created.

3)查看回收站中的数据
sec@ora10g> show recyclebin;

此时回收站中的数据为空。

4)对表T执行不带purge选项的DROP删除操作
sec@ora10g> drop table t;

Table dropped.

5)在此确认回收站中是否记录删除的数据
sec@ora10g> show recyclebin;
sec@ora10g>

此时回收站依然空空如也。

SYSTEM表空间上创建的表无法被闪回的结论得以验证。

2.澄清:并非SYS以及SYSTEM系统用户下所有表都不能被闪回
这里再次强调,只有那些创建在SYSTEM表空间上的表不可以被闪回。也就是说,如果表是属于SYS或SYSTEM用户,但是所存放的表空间非SYSTEM时,是可以被闪回的。验证如下。

1)之所以会存在这个误区是因为SYS和SYSTEM用户的默认表空间是SYSTEM表空间
sys@ora10g> select USERNAME,DEFAULT_TABLESPACE from dba_users where USERNAME in ('SYS','SYSTEM');

USERNAME                       DEFAULT_TABLESPACE
------------------------------ ------------------------------
SYS                            SYSTEM
SYSTEM                         SYSTEM

因此在SYS或SYSTEM用户下创建的表默认会存放到SYSTEM表空间(若没有使用tablespace选项进行指定)。

2)在SYS用户下创建表T,但表所属表空间非系统SYSTEM表空间
sys@ora10g> create table t (x int) tablespace TBS_SEC_D;

Table created.

sys@ora10g> col owner for a6
sys@ora10g> select owner,segment_name,tablespace_name from dba_segments where segment_name='T';

OWNER  SEGMENT_NAME                   TABLESPACE_NAME
------ ------------------------------ ---------------------
SYS    T                              TBS_SEC_D

sys@ora10g> show user;
USER is "SYS"

3)对表T执行不带purge选项的DROP删除操作
sys@ora10g> drop table t;

Table dropped.

4)确认回收站中是否存在被删除的对象
sys@ora10g> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
------------- ------------------------------ ------------ -------------------
T             BIN$pBoDteMEBFzgQMKQt8BPJw==$0 TABLE        2011-06-01:20:40:50

被删除的T表已经在回收站中存在。

5)尝试对T表进行闪回
sys@ora10g> flashback table t to before drop;

Flashback complete.

T表闪回成功。

sys@ora10g> desc t;
 Name     Null?    Type
 -------- -------- -------------------
 X                 NUMBER(38)

3.小结
SYSTEM表空间是一个神奇的地方,在这个神秘的国度存放的表将不支持闪回。

Good luck.

secooler
11.06.01

-- The End --

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-697008/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/519536/viewspace-697008/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值