Oracle存储结构(段、区、块)认识

来源:互联网 发布:串口调试软件 编辑:程序博客网 时间:2024/06/04 18:19

段:
一个段是一系列的区的集合,包含表空内一个特定逻辑储结构的所有数据。每个表Oracle会分配一个或者多个区段来成表数据段。
一个表可能不止一个段的情况:索引组织表可能包含多个段、一表中有lob字段(lob字段存在独立的段内),分区表
oracle
段的:数据段,临时段,回段,索引段
区:
区是数据的一个逻辑单位,由多个连续的数据块组成。一个或多个区段成一个段。当段中存空用完Oracle为这个段分配一个新区。
区是按需分配的,段中的区可能在磁上并不连续。一个段或它的所有区段都保存在一个表空上。在一个表空内,一个段可以包含来自多个数据文件的区;就是,段可以跨数据文件。
虽然如此,每个区段只能来自于一个数据文件。虽然你可以分配额外的区段,但它的数据块是单独分配的。高水位线是段中可用空间和不可用空间的界线。
建表空没有指定区大小的,区的分配是随着段的不断撑大,区分配的大小是增的(64KB,1MB,8MB...)
块:
每个用户创建的表空可以使用不同的大小。不管的大小,每个数据块头构都是一
存放表和索引数据,构主要由块头、事务层、数据层和块尾4部分尾是了和块头进行数据校,确保数据是一致的)
了解行迁移和行接,行迁移由于一整行的数据被分成多个分片构成,些分片位于不同的数据,因此访问这些数据需要多个逻辑读dml操作,其他分片也都要加行些附加的itl操作极大影响性能

每个itl槽的成:回段号,插槽号,事undo地址,志(事提交状
还有就是pct-freepct-used顺带提一下:
pctfree
这个参数定义了一个块保留空间的百分比,保留空间是为了将来可能发生的更新操作
pctused
个参数控制一个什么候被重新启用来插入数据,但是是基于freelist管理的表空,一般建表空候系segment space management管理是auto(即用位管理),那么就不启用pct-used

反之管理模式manual使用freelist管理启用pct_used

原创粉丝点击