Logical structures (e.g., segments, extents) map to physical structures (e.g., data files, blocks). Let’s dissect each option:
A. A segment can span multiple data files in some tablespaces.
Explanation:True. A segment (e.g., a table or index) is a logical entity stored in a tablespace. In a smallfile tablespace (default in Oracle), a segment’s extents can span multiple data files if the tablespace has multiple files and space allocation requires it. This is common in large tables or when autoextend adds new files.
Mechanics:Oracle allocates extents across available data files in a round-robin fashion (with ASSM) or as needed, ensuring the segment’s data is distributed. This doesn’t apply to bigfile tablespaces, which use a single data file.
Example:A 10GB table in a tablespace with two 5GB data files will span both.
B. Segments can span multiple tablespaces.
Explanation:False. A segment is confined to a single tablespace. Oracle enforces this to maintain logical separation (e.g., a table’s data stays in its assigned tablespace). Partitioned tables can have partitions in different tablespaces, but each partition is a separate segment.
Why Not:The segment header and extent map reside in one tablespace, preventing cross-tablespace spanning for a single segment.
C. A segment might have only one extent.
Explanation:True. A segment starts with one extent upon creation (e.g., a small table or index). If no further growth occurs, it remains a single-extent segment. This is common with small objects or when INITIAL extent size suffices.
Mechanics:In locally managed tablespaces (default), the initial extent is allocated based on INITIAL or tablespace defaults (e.g., 64KB), and additional extents are added only as needed.
D. All tablespaces may have one or more data files.
Explanation:False. Bigfile tablespaces are restricted to one data file (up to 128TB). Smallfile tablespaces (traditional) can have multiple data files (up to 1022), but the “all†phrasing makes this false due to bigfile exceptions.
Clarification:The question’s intent may assume smallfile tablespaces, but Oracle 23ai supports both types.
E. A segment’s blocks can be of different sizes.
Explanation:False. All blocks in a segment use the tablespace’s block size (e.g., 8KB). While a database can have tablespaces with different block sizes (e.g., 8KB, 32KB), a single segment’s blocks are uniform, as it resides in one tablespace.