表空间

当一个用户被创建以后,随之就要为用户分配数据存储的空间,这在oracle中成为“表空间”(Tablespace). 在数据库中创建用户时,基于应用性能和管理的考虑,最好为不同的用户创建独立的表空间。 用于存储永久数据的表空间通常被称为永久表空间,用于存储临时数据的表空间通常被称为临时表空间

逻辑上看,数据块是oracle的最小IO单元,即写入读出内存是以oracle中的块为单位的,oracle中的块通常由多个操作系统的块组成(操作系统的块应该就是该操作系统上文件系统的块,一个操作系统的块由若干磁盘的块组成)。多个oracle的块组成区间,区间是oracle创建对象的最小空间分配单位,。多个分区组成段,段存在于表空间中,因此,表空间可以被看作一个容纳各种对象段(表段,索引段等)的容器。 表空间作为数据库中的逻辑存储单元,可以包含一个或者多个物理文件,因此,表空间也可以被看成文件组。oracle数据库就是由一系列的表空间组成。

表空间的管理,表空间的管理实际上是针对于区间的管理,分成两种,字典管理表空间技术,即,当创建或者删除对象时,Oracle的空间分配和回收是通过数据库中的数据字典表来记录和管理的,这种技术主要在8i以前; 字典管理技术存在很多碎片,严重影响数据库的性能。8i以后,采用的是本地管理表空间技术,即不再使用数据字典来记录Oracle表空间里面的使用情况,而是在每个表空间的数据文件的头部加入了一个位图区域,在其中记录每个区间的使用状况(数据文件还有空区间??---数据文件对应一张表,一个表可以包含若干个段,一个段有若干个区间,所以每个数据文件有若干个区间)。

System表空间是Oracle数据库最重要的表空间,在创建数据库时被最先创建,其中包含了数据库的元数据。

在10g开始,Oracle推出了大文件表空间BigFile和小文件表空间SmallFile。大文件表空间只能包含一个文件,但是文件最大可以达到4GB个数据块的大小,按照Oracle通常支持的不同数据块的大小(2kb,4kb,8,16,32kb), 大文件表空间的大小可以支持到8TB---128TB.

段空间

在oracle数据库内部,对象空间是以段的形式存在和管理的。段和表对应,当一个段被创建的时候,区间就分配给段,段的存储空间不足,还可以以区为单位不断扩展。在Oracle的存储管理中,以区间为单位分配给段,在段内的时候,是以oracle的块为单位进行使用和管理。在9i以前,段空间采取的是手工段空间管理方式,即有一个freelist记录可用的块,(当一个块的空间使用率达到80%,将不会再增加数据,剩下的20%用于行更新带来的空间扩展需求;当一个块的空间使用率低于40%,才能放入freelist中,可以继续放入数据)。采用freelist的方式,会出现freelist称为瓶颈(多个事务并发请求段头空间freelist自由表时),即使增加为多个freelist,也只是缓解,;所以在9i后,oracle推出了自动段空间管理方式,将自由表freelist用位图取代,去除了块从freelist的删除和添加,所有的块全部放在位图中,不再“满-删除,空加入”的机制,块的使用率显示在位图的状态(集中状态)中。并且如果位图可以支持二级,多级的位图架构。

在11g前,当创建一个实体对象时,比如表,数据库就为该对象创建段,为段分配空间,但是,这种状态在有些只创建表,不插入数据的情景下,会造成空间的浪费,所以在11g的时候,引入了延迟段空间创建技术,即:当创建对象时,只存储数据结构定义,并不创建数据段,直到有第一行记录插入时才动态创建分配段空间。这样就可以省去,数据库系统初始化时因创建大量表而消耗的时间和空间。

(手动段管理)高水位标记HWM, 一个段分成三部分,header block,used block(row data),unused block其中used block和unused block之间的分界线就是高水位标记HWM,当进行全表扫描的时候,会扫描到HWM下的所有数据块,即使used block中很多数据被删除了,全表扫描还是以HWM为准。当插入insert时,freelist中没有空闲块,HWM会向上移动,但是只会向上移动,不会自动收缩,即使delete大量数据,导致HWM下有很多空闲块。

(自动段管理)低高水位LHWM和高高水位HHWM, LHWM下都是格式化的块,HHWM上都是未格式化的块,两者之间可能格式化的块和未格式化的块同时存在,全表扫描的时候,会将HHWM下的所有块都扫描完。

oracle的存储结构的更多相关文章

  1. ORACLE数据库存储结构简介(转)

    首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的.   逻辑存储结构:oracle内部的组织和管理数据的方式.  物理存储结构:o ...

  2. Oracle 逻辑存储结构

    一.总述 逻辑存储结构是 Oracle 数据库存储结构的核心内容,对 Oracle 数据库的所有操作都会涉及逻辑存储结构.逻辑存储结构是从逻辑的角度分析数据库的组成,是对数据存储结构在逻辑概念上的划分 ...

  3. ORACLE管理存储结构之物理机构+逻辑结构【weber出品】

    一.数据库的存储结构有物理结构和逻辑结构组成的 物理结构:物理上,oracle是由一些操作系统文件组成的 SQL> select name from v$datafile; NAME ----- ...

  4. oracle逻辑存储结构

    oracle数据库管理系统有三个重要的概念:实例.数据库.数据库服务器.oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构.逻辑存储结构用于描绘Oracle内部组织和管理数据的方式,而物理 ...

  5. ORACLE数据库存储结构

    一.数据块 Oracle对数据库数据文件中的存储空间进行管理的单位是数据块.数据块是数据库中最小的(逻辑)数据单位,是最小的I/O单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节.每 ...

  6. ORACLE物理存储结构

    1.查看数据库实例基本信息: SQL> SELECT DBID,NAME,CREATED,LOG_MODE,OPEN_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBA ...

  7. 学习笔记:oracle学习一:oracle11g体系结构之体系结构概述和逻辑存储结构

    目录 1.oracle 11g体系结构概述 1.1 三个重要概念 1.2 oracle数据库存储结构 2 逻辑存储结构 2.1 数据块(Data Blocks) 2.2 数据区(Extent) 2.3 ...

  8. Oracle 存储结构

    数据库是存储数据的容器,它的主要功能是保存和共享数据. oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内 ...

  9. ORALCE逻辑存储结构

    ORACLE逻辑存储结构块: 数据块 他是最基础的逻辑存储单元,数据以行的形式存储到我么的数据块中 区 :多个块的集合 并且区组成了物理的数据文件 段 :(表 索引 物化视图 物化视图日志 大对象 大 ...

随机推荐

  1. linux----关于定位和查找

    1.top --查看进程2.su --临时切换用户命令[root@tomato2 ~]# sudo su gongxijun[gongxijun@tomato2 root]$ 3.whoami --- ...

  2. ARM汇编中的标号

    标号(LABEL)是为一组机器指令所起名字,表示程序中的指令或者数据地址的符号.标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号.通过在目标地址的前面放上一个标号,可以在指令中使用 ...

  3. bzoj2458: [BeiJing2011]最小三角形(分治+几何)

    题目链接:bzoj2458: [BeiJing2011]最小三角形 学习推荐博客:分治法编程问题之最接近点对问题的算法分析 题解:先将所有点按x值排列,然后每次将当前区间[l,r]分成左右两半递归求解 ...

  4. groovy基础

    字符串字面值 def age=25 log.info 'My age is ${age}' log.info "my age is \${age}" log.info " ...

  5. Codeforces Round #313 (Div. 2) C. Gerald's Hexagon

    C. Gerald's Hexagon time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  6. javaMail创建邮件和发送邮件总结

    (注: 本文是参考http://www.cnblogs.com/xdp-gacl/p/4216311.html. 感谢博主的精彩的描述) 一, 前期的准备 1, 导入 mail.jar 二, 操作步骤 ...

  7. JavaWeb chapter 1 http协议

    1.  静态web和动态web的区别: 静态web和动态web最本质的区别是静态web是无法进行数据库操作,而动态web是可以进行数据库操作的.动态web的最大特点就是具有交互性,所谓交互性就是服务器 ...

  8. POJ 2253 Frogger 最短路 难度:0

    http://poj.org/problem?id=2253 #include <iostream> #include <queue> #include <cmath&g ...

  9. ZOJ 3329 One Person Game 概率DP 期望 难度:2

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3754 本题分数为0的概率不确定,所以不能从0这端出发. 设E[i]为到达成功所 ...

  10. php 判断是否 是手机访问

    //判断是否属手机 function is_mobile() { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = Array(& ...