`
徜徉の小溪
  • 浏览: 448042 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)详解

阅读更多

    数据文件和日志文件是数据库中最重要的文件。它们是数据存储的地方。每个数据库至少有一个与之相关的数据文件,通常情况下不只一个,有很多。数据在数据文件中是如何组织的?要了解这些内容我们首先必须理解什么是表空间(tablespace)、段(segment)、区(extent)、块(block),这些都是oracle数据库在数据文件中组织数据的基本单元。现在我们来理解这些概念。
      块是数据存储的物理单位,也是数据文件中最基础的单位,数据直接存储在块上。是oracle空间分配的最小单位。oracle中的块大小常见的有三种,2KB、4KB、8KB。块的大小在数据库创建时就已经固定下来,数据库中每个块的大小都是相同的,而且所有的块都有相同的格式,由“块头+表目录+行目录+空闲空间+数据空间”组成。块头包含着块类型(比如是表块、还是索引块)的信息、磁盘上块的位置等信息。表目录(table directory),如果有的话,包含着此块中存储各行的表的信息(如果一个块中存有多个表中的数据)。行目录(row directory)包含着数据行的描述信息,它是一个指针数组,指示了每一行在数据块中的物理位置。块头、表目录、行目录统称为块开销(block overhead),是oracle原来统计、管理块本身的。剩下的两部分很简单,已经存有数据的就是数据空间,暂时没存的就是空闲空间。
     区又叫盘区,是数据文件中一个连续的分配空间,它比块要大,由块组成。有些对象分配空间时可能至少需要两个盘区,比如回滚段,而这两个盘区不一定要求相连。区的大小从一个块到2GB不等
     段是oracle数据库中的分配单位,对象如表、索引等都是以段为单位进行分配。当创建一个表时将创建一个表段,创建一个索引时就创建一个索引段。每一个消耗存储空间的对象最终被存储到一个单一的段中。有回滚段、临时段、聚簇段、索引段等。
    表空间是一个逻辑容器,它和数据文件关联起来,一个表空间至少有一个数据文件与之关联。一个表空间可以有多个段,一个段只能属于一个表空间。
     方案(schema)又叫模式,是比表空间小一级的逻辑概念,它也是一个逻辑容器。多个用户可能共用一个表空间,那如何区分开每一个用户?那么在表空间中对每个用户都有一个对应的方案,用于保存单个用户的信息。
    oracle中存储的层次结构总结如下:
一、数据库由一个或多个表空间组成
二、表空间由一个或多个数据文件组成,一个表空间包含多个段
三、段由一个或多个区组成
四、区是数据文件中一个连续的分配空间,由一个或多个块组成
五、块是数据库中最小、最基本的单位,是数据库使用的最小的I/O单元
六、每个用户都有一个对应的方案

分享到:
评论

相关推荐

    \Oracle 表空间与数据文件

    通过以上内容,我们详细了解了Oracle中的表空间与数据文件的概念、分类以及它们在Oracle数据库存储结构中的作用,并学习了如何通过SQL查询来查看和管理这些表空间和数据文件。这对于管理和优化Oracle数据库的性能至...

    Oracle 表空间与数据文件

    表空间是 Oracle 数据库中的一个逻辑存储对象,用于存储永久段、临时段和回滚段等数据。 Oracle 表空间分类有系统表空间和非系统表空间。系统表空间包括 SYSTEM、SYSAUX 等,非系统表空间包括 USERS、EXAMPLE 等。每...

    精通Oracle核心技术和项目实战之表空间管理.pptx

    - **模式(Schema)**:模式是Oracle数据库中的逻辑单位,包含了各种模式对象,如表、视图、存储过程、索引等。每个数据库用户都有自己的模式,模式名与用户名相同,负责管理该模式下的所有对象。 - **存储结构**...

    oracle-非常有用的查询语句整理(二)

    在Oracle数据库管理中,表空间(Tablespace)是存储数据对象如表、索引、视图等的核心逻辑单元。表空间的管理对于数据库性能优化、存储规划和资源控制至关重要。以下是一些关于Oracle表空间查询的非常有用的SQL语句...

    oracle_10g_创建数据库和表用户名和密码

    段(SEGMENT)、盘区(EXTENT)和数据块(DATA BLOCK)是数据库的逻辑结构,它们之间的关系如图 2.2 所示。 数据库的外部结构包括数据文件(DATAFILE)和重做日志文件(REDO LOG FILES)。数据文件是 Oracle 10g ...

    oracle数据库期末考试试题及答案一.pdf

    在 Oracle 数据库的逻辑结构中,表空间(Tablespace)是最高级别的组件,下面是数据块(Block),然后是区(Segment),最后是段(Extent)。因此,从大到小依次是表空间、区、数据块、段。 在 Windows 操作系统中...

    逻辑结构

    1. **表空间(Tablespace)**:表空间是Oracle数据库中最大的逻辑单元,一个Oracle数据库通常由多个表空间组成。每个表空间由一个或多个数据文件组成,并且每个表空间只属于一个数据库。表空间可以在线(Online)或...

    oracle学习笔记(1)

    根据提供的文件信息,本文将对Oracle数据库中的几个关键概念进行详细的解释与说明,包括实例、事务、回滚段、维度表、事实表、星型模式、区段、表空间、段、数据块、执行计划、缓冲区缓存等内容。 ### 实例...

    oracle学习笔记

    - **实操 72:查看表空间段信息**:介绍了如何查看表空间中各段的信息。 - **实操 73:查看表空间区间信息**:指导用户如何查看表空间中区间的使用情况。 - **实操 74:使用 Enterprise Manager 创建表空间**:指导...

    Oracle11G导入导出(imp和exp)少表解决方法.docx

    1. **插入并回滚数据**:向空表中插入一行数据,然后执行 rollback 操作,这样就会为表分配 segment,使得在导出时能够包含这个空表。这是对单个表的临时解决方案。 2. **修改 deferred_segment_creation 参数**:...

    Oracle基本概念.ppt

    逻辑结构中,数据库是由表空间(tablespace)组成,表空间又包含段(segment),段由多个区(extent)组成,而区则进一步由Oracle Block(数据块)构成。物理结构涉及数据文件、控制文件和重做日志文件,它们分别...

    ORACLE学习

    - 根据存储数据的不同类型,表空间中的段(Segment)可以分为: - 数据段(Data Segment): 存储数据行。 - 索引段(Index Segment): 存储索引数据。 - 回退段(Rollback Segment): 存储事务回滚信息。 - LOB段(Large...

    Oracle复习资料

    - **模式(Schema)**:在Oracle中,模式是用于组织数据库对象的一种逻辑结构。每个用户可以拥有自己的模式。 - **CHAR和VARCHAR2类型**:两种字符串数据类型。CHAR类型会使用空格填充不足的部分,而VARCHAR2类型则...

    Oracle数据库试题.docx

    - 从大到小的顺序是表空间(Tablespace)、段(Segment)、区(Extent)、数据块(Block),答案B正确。 6. **Oracle服务**: - TNSListener监听客户端连接,答案A正确。 7. **默认表空间**: - 若未指定,默认...

    vcenter6.0采用oracle11g独立数据库

    CREATE SMALLFILE TABLESPACE "VPX" DATAFILE 'D:\app\Administrator\oradata\orcl\vpx01.dbf' SIZE 100m AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT ...

    Oracle相关资料

    Oracle数据库的逻辑结构主要包括表空间、段、区和数据块。这些组件之间的层次关系是: - 表空间(Tablespace):最高级别的逻辑结构,包含一个或多个数据文件。 - 段(Segment):由多个区组成,用于存储特定类型的...

Global site tag (gtag.js) - Google Analytics