1. 题目
2. 解析及答案
关于Oracle数据库中节省空间特性的两个正确说法是:
A. An index created with the UNUSABLE attribute has no segment.(使用UNUSABLE属性创建的索引没有段。)
解析:当一个索引被设置为UNUSABLE时,它不会自动分配或使用任何存储空间(即段)。这个状态通常用于在需要重建索引但又希望暂时节省空间时使用。因此,A选项是正确的。
B. Private Temporary Tables (PTTs) store metadata in memory only.(私有临时表(PTTs)仅将元数据存储在内存中。)
解析:Oracle 18c引入了私有临时表(PTTs)的特性,其中元数据是存储在内存中的。这有助于减少磁盘I/O操作,提高数据库性能,并节省存储空间。因此,B选项也是正确的。
C. Private Temporary Tables (PTTs) when used, are always dropped at the next commit statement.(私有临时表(PTTs)在使用时,总是在下一个提交语句时被删除。)
解析:这是不准确的。私有临时表有两种类型:事务特定的(ON COMMIT DROP DEFINITION)和会话特定的(ON COMMIT PRESERVE DEFINITION)。前者在事务结束时删除表定义和数据,而后者在会话结束时删除数据但保留表定义。因此,C选项是错误的。
D. An index that is altered to be UNUSABLE will retain its segment.(被更改为UNUSABLE状态的索引将保留其段。)
解析:这与A选项相反。当索引被设置为UNUSABLE时,它会释放其占用的存储空间(即段)。因此,D选项是错误的
E. A table that is truncated will always have all of its extents removed.(被截断的表将始终删除其所有区段。)
解析:这也是不准确的。当表被TRUNCATE时,它会释放除了由MINEXTENTS参数指定的初始区段之外的所有区段空间。但是,初始区段空间不会被完全释放,而是保留以供将来使用。因此,E选项是错误的。
正确答案是A和B。