返回数说广场
1
对于Oracle extents,哪两个陈述是正确的?(CD)
A、属于一个extents的块可以跨多个数据文件分布。
B、当删除表中的所有行时,extents中的数据块将自动回收,供表空间中的其他对象使用。
C、extents中的数据块在逻辑上是连续的,但在磁盘上可能是非连续的。
D、新分配extents的块虽然是free的,但以前可能使用过。
解析:
A. 在Oracle中,一个extent不能跨越多个数据文件。如果一个对象需要的数据空间超出了单个数据文件的容量,那么该对象将被分配到多个extent中,每个extent位于不同的数据文件中,但每个extent内部的数据块是连续的(在逻辑上)。然而,这并不意味着一个extent可以跨越多个数据文件。
B. 当从表中删除行时,Oracle并不会立即回收这些行所占用的数据块。相反,这些数据块会被标记为空闲,并可以在后续插入新行时被重用。然而,这并不意味着整个extent会被立即回收并重新分配给其他对象。实际上,Oracle的存储空间管理算法会根据需要决定何时回收和重新分配空闲的extent。这通常涉及到更复杂的空间管理策略,如extent合并、空间碎片整理等。
C. 在Oracle数据库中,一个extent由一组逻辑上连续的数据块组成,这意味着在数据库的内部结构中,这些数据块被视为一个连续的存储单元。然而,从物理存储的角度来看,这些数据块可能并不位于磁盘上的连续位置。因此,虽然它们在逻辑上是连续的,但在物理磁盘布局上可能是分散的。
D. 在Oracle中,当需要为新的数据或对象分配空间时,数据库会从空闲空间列表中选取适当的块来组成新的extent。这些被选取的块在分配之前是处于空闲状态的,但并不意味着它们之前从未被使用过。实际上,这些块可能之前被其他对象使用过,但在那些对象被删除或空间被回收后,它们重新变为了空闲状态。因此,新分配的extent中的块可能是之前已经使用过但现在被重新分配的。
1
1 236
分享
评论
热门数说



