1 / 32
文档名称:

Oracle高水位线说明.doc

格式:doc   页数:32页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Oracle高水位线说明.doc

上传人:tmm958758 2016/7/7 文件大小:0 KB

下载得到文件列表

Oracle高水位线说明.doc

相关文档

文档介绍

文档介绍:Oracle 高水位线说明 Oracle 高水位(HWM: High Water Mark) 说明个人分类: Oracle 一. 准备知识: ORACLE 的逻辑存储管理. ORACLE 在逻辑存储上分 4 个粒度: 表空间,段, 区和块. 块: 是粒度最小的存储单位, 现在标准的块大小是 8K,ORACL E 每一次 I/O 操作也是按块来操作的, 也就是说当 ORACL E从数据文件读数据时, 是读取多少个块, 而不是多少行. 每一个 Bloc k 里可以包含多个 row. 区: 由一系列相邻的块而组成, 这也是 ORACLE 空间分配的基本单位, 举个例子来说, 当我们创建一个表 Dave 时, 首先 ORACLE 会分配一区的空间给这个表, 随着不断的 INSER T 数据到 Dave, 原来的这个区容不下插入的数据时,ORACLE 是以区为单位进行扩展的, 也就是说再分配多少个区给 Dave, 而不是多少个块. 段: 是由一系列的区所组成, 一般来说, 当创建一个对象时(表, 索引), 就会分配一个段给这个对象. 所以从某种意义上来说, CREATE TABLE Dave, 这个段就是数据段,而 CREATE INDEX ON Dave(NAME), ORACLE 同样会分配一个段给这个索引, 但这是一个索引段了. 查询段的信息可以通过数据字典: SELECT * FROM USER_SEGMENTS 来获得. 表空间: 包含段, 区及块. 表空间的数据物理上储存在其所在的数据文件中. 一个数据库至少要有一个表空间. 表空间(tableSpace) 段(segment) 盘区(extent) 块(block) 关系 http://blog./tianlesoftware/archive/2009/12/08/4962 当我们创建了一个表, 即使我没有插入任何一行记录, ORACL E 还是给它分配了 8 个块. 当然这个跟建表语句的 INITIAL 参数及 MINEXTENTS 参数有关. 如: STORAGE ( INITIAL 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED ); 也就是说, 在这个对象创建以后,ORACL E 至少给它分配一个区, 初始大小是 64K, 一个标准块的大小是 8K, 刚好是 8个 BLOCK. Oracle Table 创建参数说明 http://blog./tianlesoftware/archive/2009/12/07/4954 二. 高水线(High Water Mark) 官网说明如下 http://download./docs/cd/E11882_01/ 508/ To manage space, Oracle Database tracks the state of blocks in the high water mark (HWM) is the point ina segment beyond which data blocks are unformatted and have never been used. MSSM uses free lists to manage segment table creation, no blocks in the segment are a session first inserts rows into the table, the database searches the free list for usable the database finds no usable blocks, then it preformats a group of blocks, places them on the free list, and begins inserting data into the MSSM,a full table scan reads all blocks below the HWM. ASSM does not use free lists and so must manage space a session first inserts data into a table, the database formats a single bitmap block instead of