Oracle-HWM(High Water Mark) 高水位解读-更新中

前端之家收集整理的这篇文章主要介绍了Oracle-HWM(High Water Mark) 高水位解读-更新中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle的逻辑存储管理

ORACLE在逻辑存储上分4个粒度 ,由大到小为: 表空间,段,区 和 块.

块Block

块: 是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row.

数据块的大小是通过kb字节个数来指定的,默认为8KB。相关参数为db_block_size

sql> show parameter db_block_size

NAME                                 TYPE        VALUE
----------------------- --------------------- ---------
db_block_size                        integer     8192

区Extent

区: 由一系列相邻的块而组成,这也是ORACLE空间分配的基本单位,举个例子来说,当我们创建一个表Dave时,首先ORACLE会分配一区的空间给这个表,随着不断的INSERT数据到Dave,原来的这个区容不下插入的数据时,ORACLE是以区为单位进行扩展的,也就是说再分配多少个区给Dave,而不是多少个块.


段Segment

段: 是由一系列的区所组成,一般来说,当创建一个对象时(表,索引),就会分配一个段给这个对象. 所以从某种意义上来说,段就是某种特定的数据.如CREATE TABLE Dave,这个段就是数据段,而CREATE INDEX ON Dave(NAME),ORACLE同样会分配一个段给这个索引,但这是一个索引段了.查询段的信息可以通过数据字典: SELECT * FROM USER_SEGMENTS来获得.


表空间Tablespace

表空间: 包含段,区及块.表空间的数据物理上储存在其所在的数据文件中.一个数据库至少要有一个表空间.

猜你在找的Oracle相关文章