初步认识oracle逻辑存储体系

Oracle的存储结构关系:

初步认识oracle逻辑存储体系_第1张图片

图1:oracle的物理和逻辑存储关系

数据库的逻辑单元有表空间、段、区间、数据块,在物理上,数据存放在磁盘的数据文件上面,也存放在操作系统上的blcok。

Oracle的blcok大小为os block大小的倍数,查看一下oracle11g的block大小为8KB

初步认识oracle逻辑存储体系_第2张图片

逻辑存储体系:一个数据库包含一个或多个表空间,一个表空间包含一个或多个段,段包含一个或多个区,每一个区包含多个数据块。

初步认识oracle逻辑存储体系_第3张图片

图2:段、区、数据块的关系

数据块:数据库使用和分配的最小存储单元,Oracle所有对数据的操作和空间分配,实际上都是针对数据块Block的操作。我们从数据表中搜索出一行,实际中Oracle就会从内存缓冲区(或者硬盘)中读取到该行所在的数据块,再返回这数据块上的指定数据行。Oracle无论是在缓冲区,还是在硬盘,进行数据操作的最小单位也就是数据块。

段segment:segment是数据库的对象,用来存储表、索引的存储容器。

表空间:表空间是存放段,在物理上一个表空间可以存放一个或者多个数据文件。因此一个段的多个区都在一个表空间。

初步认识oracle逻辑存储体系_第4张图片

图3:表空间与数据文件的关系

一个数据库必须要有system、sysaux表空间。Oralcle建议至少创建一个表空间去存储用户信息和程序数据。

初步认识oracle逻辑存储体系_第5张图片

图4:表空间的分类

表空间间的管理:主要有本地管理和字典管理

      

初步认识oracle逻辑存储体系_第6张图片

图5:表空间的管理方式

本地管理:在数据文件头部添加位图来记录区的使用与空闲,1为使用,0表示被释放。

当extent被使用或者被释放,oracle会更新头部的记录来反映这个变化,不产生回滚信息。因为仅仅操作数据文件头部的几个数据块,不用操作数据字典,LMT比DMT要快。

初步认识oracle逻辑存储体系_第7张图片

图6:bitmap manage storage

字典管理oracle将表空间信息维护在oracle的数据字典中,空闲空间被记录在SYS.FET$表中,已使用空间记录在SYS.UET$表。

Oracle的存储结构关系:

初步认识oracle逻辑存储体系_第8张图片

图1:oracle的物理和逻辑存储关系

数据库的逻辑单元有表空间、段、区间、数据块,在物理上,数据存放在磁盘的数据文件上面,也存放在操作系统上的blcok。

Oracle的blcok大小为os block大小的倍数,查看一下oracle11g的block大小为8KB

初步认识oracle逻辑存储体系_第9张图片

逻辑存储体系:一个数据库包含一个或多个表空间,一个表空间包含一个或多个段,段包含一个或多个区,每一个区包含多个数据块。

初步认识oracle逻辑存储体系_第10张图片

图2:段、区、数据块的关系

数据块:数据库使用和分配的最小存储单元,Oracle所有对数据的操作和空间分配,实际上都是针对数据块Block的操作。我们从数据表中搜索出一行,实际中Oracle就会从内存缓冲区(或者硬盘)中读取到该行所在的数据块,再返回这数据块上的指定数据行。Oracle无论是在缓冲区,还是在硬盘,进行数据操作的最小单位也就是数据块。

段segment:segment是数据库的对象,用来存储表、索引的存储容器。

表空间:表空间是存放段,在物理上一个表空间可以存放一个或者多个数据文件。因此一个段的多个区都在一个表空间。

图3:表空间与数据文件的关系

一个数据库必须要有system、sysaux表空间。Oralcle建议至少创建一个表空间去存储用户信息和程序数据。

初步认识oracle逻辑存储体系_第11张图片

图4:表空间的分类

表空间间的管理:主要有本地管理和字典管理

      

初步认识oracle逻辑存储体系_第12张图片

图5:表空间的管理方式

本地管理:在数据文件头部添加位图来记录区的使用与空闲,1为使用,0表示被释放。

当extent被使用或者被释放,oracle会更新头部的记录来反映这个变化,不产生回滚信息。因为仅仅操作数据文件头部的几个数据块,不用操作数据字典,LMT比DMT要快。

初步认识oracle逻辑存储体系_第13张图片

图6:bitmap manage storage

字典管理oracle将表空间信息维护在oracle的数据字典中,空闲空间被记录在SYS.FET$表中,已使用空间记录在SYS.UET$表。

你可能感兴趣的:(oracle,数据库)