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)整体概述的更多相关文章

  1. Oracle学习笔记--第2章 oracle 数据库体系结构

    第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...

  2. oracle数据库体系结构

    一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...

  3. Oracle数据库体系结构、启动过程、关闭过程

    一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...

  4. Oracle数据库体系结构(2)数据库实例

    Oracle实例的概念: 实例(Instance):就是数据库管理系统,处于用户与物理数据库之间的一个中间层软件,由一系列内存结构和后台进程组成. 用户操作数据库的过程实质上与数据库实例建立连接,然后 ...

  5. Oracle数据库------体系结构

    ORACLE体系结构包括:实例(Instance),数据库文件,用户进程(User process),服务器进程以及其他文件. 1.ORACLE实例(instance)     1).要访问数据库必须 ...

  6. Oracle数据库基本操作(一) —— Oracle数据库体系结构介绍、DDL、DCL、DML

    一.Oracle数据库介绍 1.基本介绍 Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/ ...

  7. Oracle数据库体系结构(4)oracle控制文件

    控制文件的概述 1.控制文件是oracle数据库非常重要的物理文件,描述了整个数据库的物理结构信息,包括数据库名称.数据文件与重做日志文件的名称与位置,日志序列号等信息.数据库实例根据初始化参数CON ...

  8. Oracle数据库体系结构(3)数据库进程

    一.Oracle进程概述 在oracle中进程分为用户进程(User Process).服务器进程(server process)和后天进程3种. 1.用户进程:当用户连接到数据库执行一个应用程序是, ...

  9. Oracle数据库体系结构-Shared Pool

    Oracle数据库简单介绍 对象关系型数据库 重点:一致性+性能 一致性优于性能 处理模型:C/S模型 Client:用户和用户进程             Server:服务器进程,实例,数据库本身 ...

随机推荐

  1. Linux常见服务器——DHCP服务器的搭建

    一.基础知识: 1.DHCP简介: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP ...

  2. Jenkins安装火线fireline插件

    原文请访问:http://magic.360.cn/zh/user.html 提示:如果您是第一次使用Jenkins,请先前往文章[Jenkins下载安装配置教程] 1. 点击左上角的`Jenkins ...

  3. window.name实现跨域数据传输

    偶然间碰到个问题,通过JS给window.name赋值数组情况下,在firefox与chrome下会转换为字符串类型,在IE11下则显示正常.不说了,上图(firefox下): 代码: <scr ...

  4. mysql 主从切换

    4)提升slave为master Stop slave: Reset master; Reset slave all; 在5.6.3版本之后 Reset slave; 在5.6.3版本之前 查看sla ...

  5. 配置YUM源更新源

    在虚拟机上更新yum,总是告诉我找不懂镜像服务器地址,配置失败,连 #yum install yum 它自己都无法更新. 于是决定先配置一下yum的更新源. 首先找到yum的主要配置文件, 一般在/e ...

  6. TouchSlide - 大话主席

    http://www.superslide2.com/TouchSlide/downLoad.html 首  页如何使用查看参数案例演示下载页面交流反馈SuperSlide TouchSlide - ...

  7. phpexcel导入xlsx文件报错xlsx is not recognised as an OLE file 怎么办

    最初的做法  代码如下 1 include 'classes/PHPExcel/IOFactory.php'; 2 $inputFileName = $target; 3 $objReader = n ...

  8. android EditText控制最大输入行数

    网络摘抄,仅作记录学习 EditText在android开发中是一个经常用到的基础控件,功能也很强大,限制输入字符类型,字数什么的.但是最近在工作中遇到了需要控制editText最大可输入行数的要求. ...

  9. UFLDL深度学习笔记 (五)自编码线性解码器

    UFLDL深度学习笔记 (五)自编码线性解码器 1. 基本问题 在第一篇 UFLDL深度学习笔记 (一)基本知识与稀疏自编码中讨论了激活函数为\(sigmoid\)函数的系数自编码网络,本文要讨论&q ...

  10. 修改mysql数据库存储目录

    使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...