首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【DB笔试面试668】在Oracle中,什么是高水位?如何回收表的高水位?

Oracle数据库通过跟踪段中的块状态来管理空间。高水位标记(High Warter Mark,HWM)是段中的一个点,超过该点的数据块是未格式化和未使用过的。HWM的信息储存在段头(Segment Header,第一个区的第一个块就称为段头),在段空间是手动管理方式时(MSSM),Oracle是通过Freelist(一个单向链表)来管理段内的空间分配,此时只有HWM的说法;在段空间是自动管理方式(ASSM)时,Oracle是通过BITMAP来管理段内的空间分配,此时Oracle引入了LHWM(Low HWM,低高水位)的概念。在MSSM中,当数据插入以后,如果是插入到新的数据块中,那么数据块就会被自动格式化等待数据访问;而在ASSM中,数据插入到新的数据块以后,数据块并没有被格式化,而是在第一次访问这个数据块的时候才格式化这个块。所以此时又需要一条水位线,用来标示已经被格式化的块,这条水位线就叫做LHWM。LHWM之下的所有块都是已格式化的,要么包含数据,或以前曾包含数据。一般来说,LHWM肯定是低于等于HWM的。在一个ASSM段中的每个数据块处于以下状态之一:

04
您找到你想要的搜索结果了吗?
是的
没有找到
领券