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

1. service name 服务名(其实就是:数据库名),装 ORACLE 时肯定要指定的一个名字
2. tablespace 表空间,数据库对象的磁盘存储位置
3. schema 方案,数据库对象的逻辑分类
4. user 用户,等同于 schema
5. service name > tablespace > schema(user)

oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)的更多相关文章

  1. Oracle基础 01 表空间 tablespace

    --查看表空间 select * from dba_tablespaces; select * from v$tablespace; select * from dba_data_files; --查 ...

  2. Oracle中暂时表空间的清理

    作者:iamlaosong Oracle暂时表空间主要用来做查询和存放一些缓冲区数据. 暂时表空间消耗的主要原因是须要对查询的中间结果进行排序.暂时表空间的主要作用: 索引create或rebuild ...

  3. Oracle中的表空间

    表空间是什么? Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构是指构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念及它们之间的关系. 表空间是数据库数据 ...

  4. Oracle中undo表空间的切换

    查看操作系统: SQL>  !cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.4 (Maipo)查看数据库版本: ...

  5. oracle中的表空间以及和表空间有关的操作

    oracle中表空间 表空间是oracle对物理数据库上相关数据文件的逻辑映射.一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构.每个数据库至少有一个表空间(sys ...

  6. 如何在Oracle中建立表和表空间?

    1.建表空间 ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方 ...

  7. oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    数据文件和日志文件是数据库中最关键的文件.它们是数据存储的地方.每一个数据库至少有一个与之相关的数据文件,通常情况下不仅仅一个,有非常多.数据在数据文件里是怎样组织的?要了解这些内容我们首先必须理解什 ...

  8. oracle 表空间tablespace

    一.Oracle 表空间的组成 Everoone knows Oracle数据库真正存放数据的是数据文件,Oracle表空间是逻辑上的概念,他在物理上是并不存在的,把多个DataFile合并到一起就是 ...

  9. Oracle大表改为分区表及表空间切换方案

    Oracle大表改为分区表及表空间切换方案 一.            背景 由于之前数据库表和索引放在一个表空间导致表空间数据文件增长太快,文件数量即将达到Oracle表空间的限制,需要对表(没有分 ...

随机推荐

  1. Win10 恢复后退键

    转自:http://www.cnblogs.com/liubaicai/p/4368261.html 自带的几种风格的页面,竟然是用的左上角虚拟后退键,这种倒行逆施的行为微软你真是够了! 一定要把后退 ...

  2. 【POJ】2373 Dividing the Path(单调队列优化dp)

    题目 传送门:QWQ 分析 听说是水题,但还是没想出来. $ dp[i] $为$ [1,i] $的需要的喷头数量. 那么$ dp[i]=min(dp[j])+1 $其中$ j<i $ 这是个$ ...

  3. wamp-php 集成环境的基础配置

    域名访问设置(本地局域网) 用记事本打开 127.0.0.1是本地回环地址 配置完后 通过在本地浏览器输入www.0705.com就可以访问本地站点了 Wamp集成环境多站点配置 配置条件: 一个服务 ...

  4. Autofac ASP.NET Web API (Beta) Integration

    With the beta release of ASP.NET MVC 4 and the ASP.NET Web API being released a few weeks ago, I dec ...

  5. python学习——练习题(10)

    """ 题目:暂停一秒输出,并格式化当前时间. """ import sys import time def answer1(): &quo ...

  6. Tornado 多进程 & 异步

    另外一篇:http://www.cnblogs.com/xiaoshi657/p/6945208.html 基本版: #coding=utf-8 import tornado.web import t ...

  7. Python的输入输出

    一:Python2.x版本下的输入输出 Python2.x 下的输入 1)raw_input 格式:result = raw_input("提示信息")功能:1)会等待用户输入内容 ...

  8. 【转】tcp_tw_recycle和tcp_timestamps导致connect失败问题

    (2012-02-01 18:40:32)     近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关: ...

  9. Redis作为缓存服务器

    1.ICache的Redis实现没有放在'Framework.Cache/Logic'中.如果是以前,我会认为这样不好.我会这样做,'Framework.Cache'项目引用Redis项目或直接从Nu ...

  10. Django restframework Token拥有不过期的认证

    REST框架中的Token认证不像Session认证一样,它是没有办法设置过期时间的,但是有时我们需要对Token做过期验证,比如说用户在A设备登陆之后获取一个Token,如果用户在没有清空浏览器缓存 ...