table的data和index是分别存储的,如果是partition table更是把partition分别存储在不同的segment,所以partition可以存放在不同的datafile中,不同的tablespace中:
Each table’s data is stored in its own data segment, while each index’s data is stored in its own
index segment.
If the table or index is partitioned, each partition is stored in its own segment.
如果extents满了,Oracle内部是这样扩展的:
When the existing extents of
a segment are full, Oracle allocates another extent for that segment. Because extents are allocated as needed, the extents of a segment may or may not be contiguous on disk.
需注意segment可以跨datafile,但是extent不能,只能在一个datafile中:
Within a tablespace, a segment can include extents from more than one file; that is, the segment can span datafiles. However, each extent can contain data from only one datafile.
注意如果extent扩展后,block分配到free list但是不会自动释放,需要手工把HWM移除,这些块才能被其它使用:
If you allocate an extent to a specific instance, the blocks are immediately
allocated to the free list. However, if the extent is not allocated to a specific instance,
then the blocks themselves are allocated only when the high water mark moves.