1 / 20

第 二 章

第 二 章. ORACLE 的逻辑结构. ORACLE 的逻辑结构. ORACLE 的逻辑结构 是由一个或多个表空间组成。 一个表空间由一组分类段组成 一个段由一组范围组成 一个范围由一批数据库块组成 一个数据库块对应一个或多个物理块. Tablespace. Segment 112K. Database Blocks. Extent 84K. DataFile. Database. 逻 辑 结 构 图 示. ORACLE 的逻辑结构 数据库块.

cady
Download Presentation

第 二 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 二 章 ORACLE的逻辑结构

  2. ORACLE的逻辑结构 ORACLE的逻辑结构是由一个或多个表空间组成。 一个表空间由一组分类段组成 一个段由一组范围组成 一个范围由一批数据库块组成 一个数据库块对应一个或多个物理块

  3. Tablespace Segment 112K Database Blocks Extent 84K DataFile Database 逻辑结构图示

  4. ORACLE的逻辑结构 数据库块 数据库块(Database Block)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。 一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。

  5. ORACLE的逻辑结构 数据库块 标题:包括通用的块信息,如块地址/段类型等,最佳大小为85-100bytes。 表目录:存储聚集中表的信息,这些信息用于聚集段。 行目录:包括这块中的有效行信息,允许使用每行开头的2bytes。 自由空间:这块中能插入或修改的一组空间。 行数据:存储表或索引的数据。

  6. Command and Variable Header Table Directory Row Directory Free Space ROW DATA ORACLE的逻辑结构 数据库块 数据库块的格式

  7. ORACLE的逻辑结构 数据库块 • PCTUSED • 用于行的INSERT的操作,当块的百分比小于PCTUSED时,可通过行DELETE或UPDATE来减少列存储。 PCTFREE 用于行的UPDATE操作,在遇到PCTFREE后,这块被填满且不能进行INSERT操作。

  8. Pctfree 参数设置 • 用来设定数据块保留的自由空间的最小比例。 • 当数据块被插入时,如果块的自由空间(不含块头所占空间)比例缩小到了这个值,则该块被取下自由列表,停止向块中插入数据,该自由空间用来保留给将来可能的对这个块中已经存在的数据进行update操作所需的更多的空间时使用。 • 自由空间不是连续的 • 取值范围为1-99

  9. PCTUSED 参数 • 用来设定数据块已经占用空间的最大比例 • 在块中的自由空间达到了pctfree之后,由于可能的修改或删除操作时自由空间的比例增大,当存储空间和块头空间之和缩小到了指定的这个比例之后,该块将被加入到自由列表,将再一次可以给块中插入记录了。 • 取值范围为1-99,与pctfree的和不能超过100

  10. Free Space PCTFREE = 10% PCTUSED = 40% ROW DATA ORACLE的逻辑结构 数据库块 PCTFREE = 10% PCTUSED = 40%

  11. 正确的设置两个参数 不能将两个参数的和设置为100,因为会出现抖颤现象: 每删除一条记录,或每次修改一条记录,石块的自由空间比例增大,使该块重回自由列表; 进入自由列表后,美插入一条记录,该快又将会被清除出自由列表。 Oracle设置两个参数的缺省值为: Pctfree=10 Pctused=40

  12. 两个参数设置的量化公式 • Pctfree=100*upd/(upd+ins) • Pctused=100-pctfree-100*rows*(ins+upd)/块尺寸 • Upd:有修改数据行带来的增加占用空间的平均量,单位是字节。 • Ins:初始插入时数据行的平均长度。 • Rows:当块添加数据达到pctfree指定的值后,再删除若干数据行,使占用空间减少到pctused指定的值,row是指这个需要删除的行数。

  13. ORACLE的逻辑结构 范 围 范围(Extent)是数据库存储空间分配的逻辑单位,一个范围由一组数据库块组成,范围是由段分配的,分配的第一个范围称初始范围,以后分配的范围称增量范围。

  14. INITIAL • NEXT • MAXEXTENTS • MINEXTENTS • PCTINCREASE • OPTIMAL • FREELISTS • FREELISTS • 为INSERT操作保留的空闲块列表数目。 • INITIAL • 初始范围的大小,默认值为5个数据库块。 • MAXEXTENTS • 这个段中可分配的范围最大数目,默认值为99。 • OPTIMAL • 为回滚段指定最佳大小,默认值为 NULL。 • NEXT • 增量范围的大小,默认值为5个数据库块。 • PCTINCREASE • 每个增量范围的增量百分比,默认值为50%。 • MINEXTENTS • 这个段中可分配的范围最大数目,默认值为1。 控 制 范 围 分 配 的 参 数 逻辑结构范围

  15. ORACLE的逻辑结构 段 段(Segment)是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。

  16. 存储为读一致 性、回滚或恢 复用数据 存储排序操作 期间建立的临 时表的数据 存储表或聚集 上最佳查询的 所有索引数据 存储数据字典 表的定义 存储表或聚集 的所有数据 临时段 (Temporary Segment) 引导段 (Bootstrap Segment) 回滚段 (Rollback Segment) 索引段 (Index Segment) 数据段 (Data Segment) ORACLE的逻辑结构 段 段的分类

  17. ORACLE的逻辑结构 表空间 表空间(Tablespace)是数据库中物理编组的数据仓库,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。

  18. Index Index Table Index Index Table Table Table Cluster Table Index Table Table Table Table Table Table Table Table Table Index Index Index Index Table Cluster Table Table Cluster Index Index DBFiles2 DBFiles3 DBFiles1 ORACLE的逻辑结构 表空间 System Tablespace Data Tablespace

  19. 据 库 结 构 物理结构 逻辑结构 数据文件 日志文件 控制文件 参数文件 表空间 段 范围 数据库块 ORACLE的逻辑结构 数据库结构 ORACLE数据库中的数据逻辑存储在表空间中,物理存储在数据文件中。

More Related