【Oracle OCP考试】1z0-082(1)

文章讨论了Oracle数据库中关于索引的UNUSABLE属性、PrivateTemporaryTables的行为,指出创建带UNUSABLE属性的索引不占用段,而临时表在commit时取决于定义保留策略。错误选项包括C(PTTs总是commit后删除)、D(修改为UNUSABLE的索引保留段)和E(truncating表不删除所有extent)。

Which two statements are true about space-saving features in an Oracle Database?

A.An index created with the UNUSABLE attribute has no segment.

B.Private Temporary Tables(PTTs) store metadata in memory only.

C.Private Temporary Tables(PTTs) when used, are always dropped at the next commit statement.

D.An index that is altered to be UNUSABLE will retain its segment

E. A table that is truncated will always have all of its extents removed

正确答案:【A、B】

解析:实际上PTT有两种:Transaction-specific (ON COMMIT DROP DEFINITION)和session-specific (ON COMMIT PRESERVE DEFINITION)。这两种在commit时都会删除表中的数据,但第二种是不会删除表定义的,因此C是错的。

SQL>  create index in_1 on table_1(no) unusable;
Index created.

SQL> select segment_name,blocks from user_segments where segment_name in ('IN_1');
no rows selected

SQL>  alter index in_1 rebuild;
Index altered.

SQL> select segment_name,blocks from user_segments where segment_name in ('IN_1');
SEGMENT_NAME     BLOCKS
-------------------- ----------
IN_1            8

发现创建索引时为unusable是不创建段的,只有重建索引才会有段。所以A正确。
经过测试,truncate table初始的extent不会删除。所以E错误。
经过测试,alter index in_a unusable,会删除所有的segment。所以D错误。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值