Oracle Database 物理结构,逻辑结构


Oracle Database 物理结构

数据文件

Oracle数据库有一个或多个物理的数据文件。数据库的数据文件包含全部数据库数据。逻辑数据物理地存储在数据文件中。数据文件有下列特征:一个数据文件仅与一个数据库联系。当数据库容量越界时,数据文件能够自动扩展。一个或多个数据文件组成一个表空间。

日志文件

每个数据库有两个或多个日志文件组,日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改记录在日志中。

控制文件

每个Oracle数据库有一个控制文件,记录数据库的物理结构。(类似Windows注册表的作用)控制文件包含数据库名、数据库数据文件和日志文件的名字、位置和数据库建立日期等信息。

Oracle Database 逻辑结构

数据库(database)由若干个表空间(tablespace)组成,表空间由表(table)组成,表由段(segment)组成,段由区间(extent)组成,区间则由数据块(data block)组成。

表空间

数据库可以划分为若干的逻辑存储单元,这些存储单元被称为表空间。每个数据库都至少有一个系统表空间(称为SYSTEM表空间)。大文件表空间(Bigfile Tablespaces) 用于存放表空间名称、表空间所包含的数据文件等管理数据库自身所需要的信息辅助表空间(SYSAUX Tablespace) 系统表空间的辅助表空间,很多数据库组件把系统表空间作为存储数据的默认位置撤消表空间(Undo Tablespace) 用于事务的回滚和撤销的表空间,临时表空间(Temporary Tablespace) 用于存储数据库的临时表用户表空间(Users Tablespace) 用于存储用户的私有数据。

数据库中最常用的数据存储单元,它包括所有用户可以访问的数据。作为关系型数据库,Oracle表由行和列组成。

视图

虚拟的表,它在物理上并不存在。视图可以把表或其他视图的数据按照一定的条件组合起来,所以也可以把它看成是一个存储的查询。视图并不包含数据,它只是从基表中读取数据。

由一组区间组成。数据段 每个不在簇中的表都有一个数据段。表中的所有数据都存储在数据段的区间中。每个簇都有一个数据段。簇中每个表的数据都存储在簇的数据段中索引段 每个索引都有一个索引段,存储所有的索引数据临时段 当执行SQL语句需要临时工作区时,Oracle 将创建临时段。执行完毕后,临时段的区间将被系统回收,以备需要时分配使用回滚段 如果当前系统处于自动重做管理模式,则数据库服务器使用表空间来管理重做空间。这是Oracle公司推荐使用的模式。但是,如果使用手动重做管理模式,则数据库管理员需要创建一个或多个回滚段,用于临时存储重做信息。回滚段中的信息将在数据库恢复过程中使用到。

区间

是数据库存储空间中分配的一个逻辑单元,由一组相邻的数据块组成,它是Oracle分配磁盘空间的最小单位。 MINEXTENTS定义了段所能包含的最小区间数量,在创建段时,它所包含的区间数量只能为MINEXTENTS。随着段中数据的增加,区间数量也可以不断增加,但不能超过MAXEXTENTS中定义的数量,否则会出现错误。

数据块

是Oracle管理数据库存储空间的最小数据存储单位。一个数据块对应磁盘上一定数量的数据库空间,标准的数据块大小由初始参数DB_BLOCK_SIZE指定。数据块既是逻辑单位,也是物理单位。块的大小是操作系统块大小的整数倍.

有些表共享公共的列,并经常被同时访问,为了提高数据存取的效率,把这些表在物理上存储在一起,得到的表的组合就是簇。与索引相似,簇并不影响应用程序的设计。用户和应用程序并不关心表是否是簇的一部分,因为无论表在不在簇中,访问表的语句都是一样的。

索引

与表相关联的可选结构。创建索引可以提高读取数据的效率。索引的功能类似于书的目录一样,读者可以通过目录很快地在书中找到需要的内容,Oracle索引提供对表数据的访问路径,从而使用户能够快速定位指定的信息。

03Oracle Database 物理结构,逻辑结构的更多相关文章

  1. <Oracle Database>物理结构

    物理结构 Oracle物理结构包含了数据文件.日志文件和控制文件 数据文件 每一个Oracle数据库有一个或多个物理的数据文件.一个数据库的数据文件包含全部数据库数据.数据文件有下列特征: 一个数据文 ...

  2. Oracle 数据库的组成(instance+database)

    Oracle服务器是一种对象关系数据库管理系统,它为信息管理提供开放.综合.集成的方法. Oracle服务器中有多种进进程.内存结构和文件: Oracle服务器由一个Oracle实例和一个Oracle ...

  3. Oracle存储——逻辑结构

    Oracle 数存储——物理结构 Oracle存储结构:物理结构+逻辑结构 Oracle 数据库存储逻辑结构 Oracle Schema Objects(Schema Object Storage A ...

  4. oracle 学习

    一.数据库语言部分1. SQL语言:关系数据库的标准语言2. PL/SQL:过程化语言Procedural Language3. SQL*Plus:简单的报表,操作系统接口 4. Oracle 8.0 ...

  5. [转帖]万字详解Oracle架构、原理、进程,学会世间再无复杂架构

    万字详解Oracle架构.原理.进程,学会世间再无复杂架构 http://www.itpub.net/2019/04/24/1694/ 里面的图特别好 数据和云 2019-04-24 09:11:59 ...

  6. ORACLE各种对象、概念及关系整理(一文读懂)

    下面是我整理(抄袭)的一些Oracle数据库相关概念对象的理解,如有疏漏,欢迎指正.至于整理这篇文章的目的:主要是网上的内容太散了,这样整理一遍可以加深理解,也便于后续查阅.就我的理解:下述内容应该可 ...

  7. Oracle架构实现原理、含五大进程解析(图文详解)

    目录 目录 前言 Oracle RDBMS架构图 内存结构 系统全局区SGA 高速缓存缓冲区数据库缓冲区 日志缓冲区 共享池 其他结构 进程结构 用户连接进程 用户进程User Process Ser ...

  8. Note | LaTeX

    目录 一.TeX家族 1. TeX - LaTeX 2. pdfTeX - pdfLaTeX 3. XeTeX - XeLaTeX 4. CTeX - MiKTeX - TeX Live 二.入门 1 ...

  9. Pascal数据结构与算法

    第一章 数据结构与算法的引入 1.1 数据结构的基本概念 一. 学习数据结构的意义 程序设计 = 数据结构 + 算法 目前,80%的待处理的数据具有“算法简单”(四则运算.检索.排序等),“对象复杂” ...

随机推荐

  1. vmstat输出项解释

    输出项的解释例如以下: procs * r列表示执行和等待cpu时间片段的进程数,这个值假设长期大约系统cpu个数.说明cpu不足 * b列表示在等待资源的进程数.比方正在等待IO或者内存交换等等 m ...

  2. GDI+学习之------ 画线、区域填充、写字

    <精通GDI编程>里的代码.在学习过程中对它加以总结,以防以后用到,全部代码都是在MFC 单文档中实现的,写在View::OnDraw(CDC */*pDC*/)中 画线/边框(Pen) ...

  3. Bootstrap tabs 源码分析

    前言: 阅读建议:去github下载一个完整dom然后把,本篇代码复制进去然后运行就好了以地址 tab组件是非常简单的一种组件,因为这是一个系列,所以就顺便看了,其实它写的这个还算不错的,很有条例,也 ...

  4. CSP 201703-4 地铁修建【最小生成树+并查集】

    问题描述 试题编号: 201703-4 试题名称: 地铁修建 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市 ...

  5. python-----tuple用法

    有一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: >>> classmates = ('Michael' ...

  6. python调用java程序--jpype

    官方网站:http://jpype.sourceforge.net/ 官方使用文档:http://jpype.sourceforge.net/doc/user-guide/userguide.html ...

  7. Linux的文件搜索命令(locate ,find,grep,find命令和)

    刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...

  8. Oracle.ManagedDataAccess.dll

    C#使用Oracle.ManagedDataAccess.dll System.Data.OracleClient程序集没有多大的不同,基本上拿以前使用System.Data.OracleClient ...

  9. git 删除本地仓库

    更新: 2017/06/27 修改格式,备注mac下的命令没测试过   windows: rm .git/ mac: sudo rm -rf .git/ 没验证

  10. 10.12NOIP模拟题(1)

    #include<iostream> #include<cstdio> #include<cstring> #include<queue> #defin ...