<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
Oracle的基本逻辑存储数据的结构有:表空间、各种段 ( 数据段、索引段、临时段、后滚段等 ) 、区间、数据块等。
1. 表空间(systemtablespace)
表空间是数据库的逻辑划分,每个数据库至少有一个表空间,每个表空间有同一磁盘上的一个或多个数据文件组成。
表空间与数据文件的关系
2. 典型的数据库表空间
表空间的作用:只是帮助组织数据库
下面是一些主要的数据库表空间
·系统表空间(systemtablespace) :每个 oracle 数据库都有,里面存放表空间名称、表空间所含数据文件等
·临时表空间(temptablespace) : oracle 存储所有临时表的部分
·工具表空间(toolstablespace) :用于保存数据库工具软件所需的数据库对象,大多数数据库管理员都将支持工具运行所需的表放在这里。
·用户表空间(userstablespace) :用于用户存放私人信息。
·数据库索引表空间:在oracle 数据库中,索引是专用的数据库对象,帮助 oracle 迅速找出表中数据。
·回滚表空间:保存恢复信息的地方,用于保存回滚段(rollbacksegment) ,简称 rollback 或 rbs 。
3. 联机和脱机表空间
Oracle允许在逐个表空间基础上控制数据库的可用性,即一个表空间即可以处于联机状态,也可以处于脱机状态。
·联机状态,表空间中的数据可用
·脱机状态,用户不能访问表空间中的数据
4. 永久表空间和临时表空间
永久表空间:存储单个SQL 请求和事务中必须保留的信息
临时表空间:用于处理复杂SQL 操作的大量临时工作空间,如存储查询、连接查询、建立索引等。
5. 数据库段
Oracle为数据库对象 ( 表、索引等 ) 预先分配数据库的段作为其物理存储区。数据库段 (databasesegment) 就是贮存在数据库中的用具建立的对象。
·数据段:在表中,存储数据。
·索引段:存放索引的数据。
·LOB 段 (largeobject) :在表中有 CLOB 、 BLOB 、 NCLOB 的巨型对象数据类型的列。此表可在 LOB 段中存放 LOB 值, LOB 段独立于其他字段的数据段。
·回滚段:一种oracle 用来存储事物回滚信息的特殊类型的表。
·临时段:硬盘上的临时工作空间。
6. 区间
是表空间内连续分配的相邻的数据块,他是一个物理实体。
7. 数据块(datablock)
是数据库中最小的、最基本的存储单元,是数据库能分配给对象的最小存储单元。Oracle 数据块与操作系统块不同:
操作系统块是操作系统能从磁盘读或写的最小单元,oracle 数据块是 oracle 能从磁盘上读或写的最小单元。
<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
段、区间、数据库的关系
在创建新的数据库对象时,oracle 为这些对象的段分配一个或多个区间,而区间则是在存储这些对象段的表空间的数据文件中的一组连续的数据库的集合。若段空间中数据存满了,在下一次事物请求时, oracle 就为该段分配一组新的连续的数据块集 ( 区间 ).
<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->