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:服务器进程,实例,数据库本身 ...
随机推荐
- jquery ui widget 源代码分析
jquery ui 的全部组件都是基于一个简单,可重用的widget. 这个widget是jquery ui的核心部分,有用它能实现一致的API.创建有状态的插件,而无需关心插件的内部转换. $.wi ...
- asp.net中UpdatePanel数据加载成功后回调
//添加UpdatePanel加载成功后执行的js方法 Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onPageLoade ...
- Gauge安装
Gauge系列推荐:https://blog.csdn.net/column/details/20089.html Gauge是一种轻量级的跨平台测试自动化工具,可以以业务语言编写测试用例. 安装 下 ...
- [译] 通过 contentEditable 属性创建一个所见即所得的编辑器(富文本编辑器)
译者注 这只是一篇入门教程,介绍了一些基础知识,仅供参考,切不可因此觉得富文本编辑器很简单. 创建富文本编辑器是一个非常复杂的工程,需要考虑到方方面面,也有很多坑(请参考原文第一条评论). 为免误导大 ...
- 新建WORD文档打开会出现转换文件对话框3步解决办法
1.选择“纯文本”格式打开word文件. ------------------------------------------------------------------------------ ...
- 高效抽取loading,再多的载入页面也不怕
当今的app基本上有两个操作,一个是载入数据 ,一个就是把数据显示到页面上.但假设页面特别的多.就每一个页面都要载入数据,就要写 loading 页面.我之前就是用dialog写,抽取出来一个类.哪里 ...
- Hibernate学习之单向一对多映射
© 版权声明:本文为博主原创文章,转载请注明出处 说明:该实例是通过映射文件和注解两种方式实现的.可根据自己的需要选择合适的方式 实例: 1.项目结构 2.pom.xml <project xm ...
- wxWidgets之wxGrid控件
1. 介绍 wxGrid控件时wxWidgets界面库中内置的网格控件. 通经常使用来显示表格数据.该控件拥有强大的功能.开发人员可依据自己的需求对其进行定制. 2. 经常使用API 构造函 ...
- python .py .pyc .pyw .pyo .pyd区别
.py 文件 以 .py 作扩展名的文件是 Python 源代码文件,由 python.exe 解释,可在控制台下运行.当然,也可用文本编辑器进行修改. .pyc 文件 以 .pyc 作扩展名的文件是 ...
- MySQL四-2:完整性约束
阅读目录 一 介绍 二 not null与default 三 unique 四 primary key 五 auto_increment 六 foreign key 七 作业 一 介绍 约束条件与数据 ...