Oracle数据库体系结构(1)整体概述
oracle数据库的存储结构:
逻辑存储结构:oracle内部的组织和管理数据的方式
物理存储结构:oracle外部(操作系统)组织和管理数据的方式
oracle对逻辑存储结构和物理存储结构的管理是分别进行的。
oracle数据库物理存储结构与逻辑存储结构的基本关系:
1.一个表数据库在物理上包含多个数据文件,在逻辑上包含多个表空间
2.一个表空间包括一个或多个数据文件,一个数据文件只从属于某一个表空间。
3.数据库的逻辑块由一个或多个操作系统块构成
4.一个逻辑区只能从属于某一个数据文件,而一个数据文件可包含一个或多个逻辑区。
oralce数据库的物理存储结构
oracle数据库的物理存储结构有一系列操作文件组成,存放于物理磁盘上,是数据库的实际存储单元。这些文件有很多,数据文件,日志文件,控制文件,归档文件,口令文件等。
数据文件:是数据库中所有数据的实际存储位置,所有数据文件的大小的和构成了数据库的大小。数据文件又分为永久性数据文件和临时性数据文件。oracle11g数据库在创建的时候,会默认创建
5个永久性的和一个临时性的文件。
控制文件:是记录数据库结构信息的重要的二进制文件,由oracle系统进行读写操作,DBA不能直接操作文件。里面信息包括数据库名称、数据文件位置等。
oracle11g数据库在创建的,默认创建两个控制文件。
重做日志文件:是以重做记录的形式记录、保存用户对数据库锁进行的变更操作,是数据库中最重要的物理文件。是数据库实例恢复的基础。
oracle11g数据库在创建时,会默认创建3个重做日志文件组。
归档重做日志文件:是历史联机重做日志文件的集合,是联机重做日志文件被覆盖之前备份的副本。
oracle11g数据库在创建的时候 ,默认采用的是非归档模式,即不复制重做日志文件。可以使用archive log list;命令来启用。
初始化参数文件:是数据库启动过程中锁必需的文件,记录了数据显示参数的设置。
口令文件:是用于保存数据中具有SYSDBA或SYSOPER系统权限的用户名及SYS用户口令的二进制文件。
跟踪文件:是数据中重要的诊断文件,是获取数据库信息的重要工具,对管理数据库实例骑着至关重要的作用。它里面包含了数据库系统运行过程中锁遇到的重大事件的有关信息,可以为
数据库运行故障的解决提供重要信息。
报警文件:也是数据库中重要的诊断文件,记录数据库在启动、关闭、运行期间后台进程的活动情况。
oracle数据库逻辑存储结构
oracle数据库的逻辑存储结构是从逻辑的角度来分析数据库的构成,也就是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。
数据库的逻辑存储结构概念存储在数据库的数据字典中。
oracle数据库的逻辑存储结构分为 数据块-区-段-和表空间4种。
其中oracle数据块是数据库中最小的I/O单元,又若干个数据块组成的区是oracle最小的存储分配单元。由若干个区形成的段是数据对象的存储分配区域,由若干个段形成的表空间是最大逻辑存储单元,所有的表空间构成数据库。
表空间:
表空间是oracle数据最大的逻辑存储结构单元,所有表空间大小的和就是数据库库的大小。在oracle数据库中,存储结构管理主要就是对表空间的管理来实现的。下图是表空间,数据文件盒数据库对象之间的关系。

表空间根据存储数据不同,分为系统表空间和非系统表空间两类。系统表空间主要存放数据的系统信息,如数据字典信息、数据库对象定义信息、数据库组件信息等。
非系统表空间有撤销表空间、临时表空间、用户表空间。
oracle11g自动创建的6个表空间
system 系统表空间 存放数据字典、数据库对象定义、PL/SQL程序源代码等系统信息。
sysaux 系统表空间 辅助系统表空间,存储数据库组件等信息
temp 临时表孔家 存放临时数据,用于排序等操作
undotbs1 撤销表空间 存储、管理回退信息
users 用户表空间 存放用户业务数据信息
example 实例表空间 存放实例的数据库方案对象信息
oracle数据块
oracle数据块是数据最小的逻辑单元,也是数据库执行输入、输出操作的最小单位,有一个或多个操作系统块构成
在一个数据库中使用多种数据块时应该注意,一个分区表或者分区索引的各个分区必须要采用相同大小的数据块;所有的临时表空间即系统默认的永久性表空间 必须采用标准块
通过 show parameter cache_size;
支持多种不同大小数据块这一特性对不同oracle数据库之间的数据传输非常有用,如将联机事务处理(OLTP)数据的数据传输到数据仓库中的数据库。
数据块的结构如图

由块头部和存储区两部分组成。块头部包括了标题、表目录、行目录3部分
标题包含的一般属性信息,如块的物理地址等;表目录包括了快中保存表的信息;行目录包含数据块中行地址等信息;
而存储区包括数据区和空闲区
行数据区是已经使用的空间,而空闲区是尚未使用的存储空间。
数据块的管理
数据块的管理主要是对快中的可用存储空间的管理。
当想表中插入数据时,如果行的长度大于了块的大小,即行的信息无法存放在一个快中,就需要使用多个块存放信息,这个称为行链接。
数据块的管理分为手动和自动管理两种。如果建立表空间时使用本地管理方式,并且将段的管理方式设置为auto,则采用自动方式管理数据块。否则将DBA手动管理,
可以通过设置PCTFREE和PCTUSED两个参数来设置数据块中空闲空间的使用。
PCTFREE参数指定块中必须保留的最小空间空间的比例,即当数据块中空闲空间比例低于这个参数时,此数据块会被标记成used,不能进行插入操作,只能更行。
PCTUSED参数指定可以向块中插入数据时块已使用的最大空间比例。该参数默认为10
除了这两个参数,还有两个参数在管理数据块的时候有用:
INITRANS:可以同时对数据块进行DML操作的事务的初始个数,用于保证数据块的最低的并行操作水平。
MAXTRANS:可以同时对此数据块进行DML的事务的最多个数。
区
区是若干个数据块组成的区是oracle最小的存储分配单元。当创建数据库对象是,ORACLE为对象分配若干个去,以构成一个段来为对象提供初始的存储空间。在oracle数据库中引入区的目的是为了提高系统存储空间分配的效率,以区为单位的存储空间分配大大
减少了磁盘分配次数。、
只有当段被删除时,段中的区才会被回收。
段:是由一个或多个连续或不连续的区组成的逻辑存储单元,是表空间的组成单位。但在表空间中创建表、索引等数据库对象是,系统自动为该对象分配段。
段可以分为:表段,索引段,临时段,回退段;
Oracle数据库体系结构(1)整体概述的更多相关文章
- Oracle学习笔记--第2章 oracle 数据库体系结构
第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...
- oracle数据库体系结构
一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...
- Oracle数据库体系结构、启动过程、关闭过程
一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...
- Oracle数据库体系结构(2)数据库实例
Oracle实例的概念: 实例(Instance):就是数据库管理系统,处于用户与物理数据库之间的一个中间层软件,由一系列内存结构和后台进程组成. 用户操作数据库的过程实质上与数据库实例建立连接,然后 ...
- Oracle数据库------体系结构
ORACLE体系结构包括:实例(Instance),数据库文件,用户进程(User process),服务器进程以及其他文件. 1.ORACLE实例(instance) 1).要访问数据库必须 ...
- Oracle数据库基本操作(一) —— Oracle数据库体系结构介绍、DDL、DCL、DML
一.Oracle数据库介绍 1.基本介绍 Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/ ...
- Oracle数据库体系结构(4)oracle控制文件
控制文件的概述 1.控制文件是oracle数据库非常重要的物理文件,描述了整个数据库的物理结构信息,包括数据库名称.数据文件与重做日志文件的名称与位置,日志序列号等信息.数据库实例根据初始化参数CON ...
- Oracle数据库体系结构(3)数据库进程
一.Oracle进程概述 在oracle中进程分为用户进程(User Process).服务器进程(server process)和后天进程3种. 1.用户进程:当用户连接到数据库执行一个应用程序是, ...
- Oracle数据库体系结构-Shared Pool
Oracle数据库简单介绍 对象关系型数据库 重点:一致性+性能 一致性优于性能 处理模型:C/S模型 Client:用户和用户进程 Server:服务器进程,实例,数据库本身 ...
随机推荐
- webcat——基于netty的http和websocket框架
代码地址如下:http://www.demodashi.com/demo/12687.html Webcat是一个基于netty的简单.高性能服务端框架,目前提供http和websocket两种协议的 ...
- java jdk 环境变量设置
我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA ...
- SlidingMenu+Fragment实现当前最流行的侧滑
1 http://www.krislq.com/2013/03/android_case_slidingmenu_fragment/ 2 https://github.com/jfeinstein10 ...
- MySQL 查询 数据库有多少表 表名是哪些
1.查询sjcenter数据库里开头为sj_demo和sj_onlyinv的所有表的总条数 select sum(table_rows) from (select table_name,table_r ...
- 阻止YII 1.0自动加载内置JQUERY库
有些时候我们会在项目中用到很多js库, 因为Yii 1.0框架会默认自动加载一些自带核心库, 很容易引起冲突问题, 下面的代码就展示了如何在Yii 1.0框架下取消jQuery自动加载. Open C ...
- MySQL中in(常量列表)的执行计划
我们在写sql的时候,经常用到in,in后面跟一堆常量列表,如id.有人说in的效率很高,而有人说很低:有人说in能使用索引,还有人说in不能使用索引... 到底是一个怎样的情况呢?我们分析以下几种情 ...
- PHP性能之语言性能优化:vld——查看代码opcode的神器
vld介绍 vld是PECL(PHP 扩展和应用仓库)的一个PHP扩展,现在最新版本是 0.14.0(2016-12-18),它的作用是:显示转储PHP脚本(opcode)的内部表示(来自PECL的v ...
- 嵌入式开发之davinci--- 8127 中osd yuv 数据分析
YUV数据类型总结: YUV格式有两大类:planar和packed.对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V.对于packed的YUV格 ...
- ios - 使用@try、catch捕获异常:
@try { // 可能会出现崩溃的代码 } @catch (NSException *exception) { // 捕获到的异常exception } @finally { // 结果处理 }
- web 网页截取图片
关于在UIwebview上添加滚动图片 两种滚动手势会混淆,应为webview有webview.scrollview的属性 故参照昨天的随笔 scrollview嵌套解决方案. 本篇随笔主要讲循环使用 ...