oracle的存储结构
表空间
当一个用户被创建以后,随之就要为用户分配数据存储的空间,这在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的存储结构的更多相关文章
- ORACLE数据库存储结构简介(转)
首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内部的组织和管理数据的方式. 物理存储结构:o ...
- Oracle 逻辑存储结构
一.总述 逻辑存储结构是 Oracle 数据库存储结构的核心内容,对 Oracle 数据库的所有操作都会涉及逻辑存储结构.逻辑存储结构是从逻辑的角度分析数据库的组成,是对数据存储结构在逻辑概念上的划分 ...
- ORACLE管理存储结构之物理机构+逻辑结构【weber出品】
一.数据库的存储结构有物理结构和逻辑结构组成的 物理结构:物理上,oracle是由一些操作系统文件组成的 SQL> select name from v$datafile; NAME ----- ...
- oracle逻辑存储结构
oracle数据库管理系统有三个重要的概念:实例.数据库.数据库服务器.oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构.逻辑存储结构用于描绘Oracle内部组织和管理数据的方式,而物理 ...
- ORACLE数据库存储结构
一.数据块 Oracle对数据库数据文件中的存储空间进行管理的单位是数据块.数据块是数据库中最小的(逻辑)数据单位,是最小的I/O单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节.每 ...
- ORACLE物理存储结构
1.查看数据库实例基本信息: SQL> SELECT DBID,NAME,CREATED,LOG_MODE,OPEN_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBA ...
- 学习笔记:oracle学习一:oracle11g体系结构之体系结构概述和逻辑存储结构
目录 1.oracle 11g体系结构概述 1.1 三个重要概念 1.2 oracle数据库存储结构 2 逻辑存储结构 2.1 数据块(Data Blocks) 2.2 数据区(Extent) 2.3 ...
- Oracle 存储结构
数据库是存储数据的容器,它的主要功能是保存和共享数据. oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内 ...
- ORALCE逻辑存储结构
ORACLE逻辑存储结构块: 数据块 他是最基础的逻辑存储单元,数据以行的形式存储到我么的数据块中 区 :多个块的集合 并且区组成了物理的数据文件 段 :(表 索引 物化视图 物化视图日志 大对象 大 ...
随机推荐
- 超实用的JavaScript代码段 --倒计时效果
现今团购网.电商网.门户网等,常使用时间记录重要的时刻,如时间显示.倒计时差.限时抢购等,本文分析不同倒计时效果的计算思路及方法,掌握日期对象Date,获取时间的方法,计算时差的方法,实现不同的倒时计 ...
- Java 集合系列 17 TreeSet
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- uva 10118
10118 - Free Candies Time limit: 30.000 seconds Little Bob is playing a game. He wants to win some c ...
- Javascript 严格模式详解(转)
一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. ...
- js——全选框 checkbox
一直会碰见input 全选框的问题,先整理一种情况: 1. <input id="selectAll" type="checkbox" />全选 2 ...
- Mysql执行Update操作时会锁住表
update tableA a,(select a.netbar_id,sum(a.reward_amt) reward_amt from tableB a group by a.netbar_id) ...
- SVN删除同名文件夹
解 释一下: SVN 出现这个错误的原因是我删除了一个文件夹后又创建了一个同名文件夹. 在 svn server 端,好像是不能区分这两个文件夹,所以出现了错误. ...
- 手动实现ArrayList
public interface List { public void insert(int i,Object obj)throws Exception; public void delete(int ...
- php中PCRE正则表达式分隔符的使用
转自:http://www.baiwar.com/post/the-use-of-php-pcre-regex-delimiter.html 在php5.3.0以前,PHP可使用两套正则表达式规则,一 ...
- Windows Store App 应用设置存储
应用设置存储主要分为本地存储和漫游存储两种方式.本地存储是指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中,相对于本地存储而言,漫游存储支持多台设备之间的应用 ...