暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片
高水位探析
635
25页
12次
2019-09-19
10墨值下载
高水平探析
概念:
Oracle 中,高水位线(High-warter mark, HWM)被用来形容数据块的使用位置,即
说明那些块是已经被使用的,那些没有。在创建一个新的表时,就会为这个对象分
配一个段。在这个段中,第一个区的第一个块在创建时就会被分配存储一些表头信息。
在以往的手动段空间管理中(MSSM),高水位标记 HWM, 一个段分成三部分,
,其中  
 之间的分界线就是高水位标记 HWM,当进行全表扫描的时候,会扫描到 HWM 下的所
有数据块,即使  中很多数据被删除了,全表扫描还是以 HWM 为准。当插入 ins
er
t 时, 中没有空闲块,HWM 会向上移动,但是只会向上移动,不会自动收缩,即使
delete 大量数据,导致 HWM 下有很多空闲块。
第一个区的第一个块就称为段头(SEGMENT HEADE),段头中就储存了一些信息,基中 HWM
的信息就存储在此.此时,因为第一个区的第一块用于存储段头的一些信息,
然没有存储任何实际的记录,但也算是被使用,此时 HWM 是位于第 2 个块.当我们不断插入数
据到 PM_USER 后,第 1 个块已经放不下后面新插入的数据,此时,ORACLE 将高水位之上的块
用于存储新增数据。
在向表里插入数据后,HWM 本身也向上移.也就是说,当我们不断插入数据时,HWM 会往
不断上移,这样,在 HWM 之下的,就表示使用过的块,HWM 之上的就表示已分配但从未使用过
的块。
当对表进行导出,导入后,或者 move 等操作后,HWM 就会降低到真实水平上。
在自动段管理(ASSM)中,利用位图来代替空闲列表,当会话向表插入数据时,数据
库只格式一个单独的位图块,而不是像 MSSM 中那样,会预先格式化一组块。在 ASSM
空间中,除了一个 HWM 外,还有一个低 HWM。在 MSSM 中,HWM 推进时,所有的块都会
格式化并立即生效,这样 Oracle 就可以安全的读取这些块。但是对于 ASSM,当 HWM 推进
时,Oracle 并不会立即格式所有的块,只是在第一次使用的时候才会对这些块进行格式化。
也就是说,在第一次使用的的时候,即进行 insert 操作时,数据会插入到块中的任意水位线,
位于低水位线(LHMW)和高水位线(HHMW)之间。因此在这个区域的许多块就不会被格
式化。
在一个 ASSM 段中的每个数据块可能为这些状态:
HWM 之上
这些块都是没有格式化,且没有被使用
HWM 之下
这些块会处于这些状态之一
已经分配,但是没有被格式化且没有被使用
已经格式化且包含数据
已经格式化,但是已经删除数据,块为空
of 25
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜