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

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错误。

你可能感兴趣的:(oracle,开闭原则,数据库)