Oracle数据库体系结构

文章目录

    • Oracle系统体系结构由三个部分组成:**实例、物理结构和逻辑结构**
    • 实例和物理结构(数据库)组成了Oracle服务器。
  • 一、实例
      • 1.1 内存结构
      • 1.1.1 系统全局区(SGA)
          • 1.1.1.1 共享池(共享储存区)
          • 1.1.1.2 共享池——库缓冲区
          • 1.1.1.3 共享池——数据字典缓冲区
          • 1.1.1.4 数据块高速缓冲区
          • 1.1.1.5 重做日志缓冲区
          • 1.1.1.6 大型池
          • 1.1.1.7 Java池
      • 1.1.2 程序全局区(PGA)
      • 1.2 进程结构
      • 1.2.1 用户进程
      • 1.2.2 服务器进程
      • 1.2.3 后台进程
          • 1.2.3.1 数据库复写器(DBWn)
          • 1.2.3.2 日志复写器(LGWR)
          • 1.2.3.3 系统监控进程(SMON)
          • 1.2.3.4 进程监控器(PMON)
          • 1.2.3.5 检查点(CKPT)
          • 1.2.3.6 归档进程(ARCn)(可选)
  • 二、物理结构
      • 2.1 数据文件
      • 2.2 重做日志文件
      • 2.3 控制文件
  • 三、逻辑结构

Oracle系统体系结构由三个部分组成:实例、物理结构和逻辑结构

实例和物理结构(数据库)组成了Oracle服务器。

一、实例

也成为服务器Server,是用来访问一个数据库文件集的一个存储结构以及后台进程的集合。总是打开一个且仅打开一个数据库,一个数据库可以被多个实例访问。

由内存结构和进程结构组成。

1.1 内存结构

内存结构由系统全局区和程序全局区构成

1.1.1 系统全局区(SGA)

SGA(System Global Area):由所有服务进程、后台进程共享
在实例启动时分配,时一组为系统分配的共享内存结构。是占用内存最大的一个区域,也是影响数据库性能的重要因素。

由共享池、数据块高速缓冲区、重做日志缓冲区组成,另外有两个可选的内存结构:大型池、JAVA池。

1.1.1.1 共享池(共享储存区)

用来储存最近最多执行的SQL语句和最近最多使用的数据定义

主要由库缓冲区和数据字典缓冲区组成

1.1.1.2 共享池——库缓冲区

储存最近使用的SQL和PL/SQL语句信息。
它能够使普遍使用的语句能被共享。
由两种结构组成,其各自的大小由共享池内部指定:

  • 共享SQL区域
  • 共享PL/SQL区域
1.1.1.3 共享池——数据字典缓冲区

使数据库里最经常使用的对象定义的集合。
包括数据文件名、表、索引、列、用户权限和其他数据库对象等信息。数据库需要这些信息时,将查找数据字典获取关联对象信息。
缓存数据字典信息在内存区能提高查询数据响应时间。

1.1.1.4 数据块高速缓冲区

储存以前从数据文件中取出过的数据块的拷贝信息。
通常只缓存数据库大小的1%~2%。使用LRU(最近最少使用)算法来管理可用空间。

1.1.1.5 重做日志缓冲区

记录数据块的所有变化。重做项会被周期性分批写到重做日志文件中,以便再数据块恢复过程中用于恢复操作。

1.1.1.6 大型池

只配置在共享服务器环境中,能减轻共享池的负担。

1.1.1.7 Java池

目的是为JAVA命令提供语法分析,如果安装并使用JAVA是必须的。

1.1.2 程序全局区(PGA)

PGA(Program Global Area):由每个服务进程、后台进程专有;每个进程都有一个PGA。
当客户进程访问oracle服务器时,会在oracle服务器端为用户进程分配相应的服务进程,并且为该服务进程分配相应的内存空间来存放其数据和控制信息,每一个后台进程也需要为其分配专用的存储空间。也就是PGA

1.2 进程结构

分别为用户进程、服务器进程和后台进程。

1.2.1 用户进程

用户进程是要求Oracle服务器交互的一种进程。
当数据库用户要求连接到Oracle服务器时启动,不直接和Oracle服务器连接。

1.2.2 服务器进程

连接ORacle实例,当用户建立一个会话时开始启动。

连接和会话是两个不同的概念。 连接是用户进程到实例之间的一条物理路径;会话是实例中存在的一个逻辑实体。一条连接上可以建立0个,1个或多个会话,而且各个会话单独且独立的。
使用connect和disconnect创建或结束会话

服务器进程就是代表客户会话完成工作的进程。几乎所有的工作都是由它们来做的,因此占用系统cpu的时间最多。

任务:

  • 对sql进行解析和执行
  • 如果所需的数据不在sga中,则server process会去磁盘上将其读到sga的database_buffer_cache中。
  • 把结果返回给应用程序

可用专用服务器模式或共享服务器模式创建会话。

1.2.3 后台进程

若干个常驻内存的操作系统进程,在进程启动时分配。
数据库的物理结构与内存结构之间的交互通过这些进程完成。

1.2.3.1 数据库复写器(DBWn)

负责管理缓冲储存区。主要任务是将缓冲区的脏数据写入磁盘。

1.2.3.2 日志复写器(LGWR)

负责管理日志缓冲区,将上次写入磁盘以来的全部日志缓冲区写入磁盘上的日志文件。

1.2.3.3 系统监控进程(SMON)

该实例启动时,执行实例恢复,还负责清理不再使用的临时段。

1.2.3.4 进程监控器(PMON)

该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。

1.2.3.5 检查点(CKPT)
1.2.3.6 归档进程(ARCn)(可选)

当ArchiveLog模式被设置时,自动归档联机重做日志文件,保存所有数据库变化。

二、物理结构

包括了数据文件、日志文件和控制文件。

2.1 数据文件

每个Oracle数据库有一个或多个物理的数据文件。一个数据库的数据文件包括全部数据库数据。逻辑结构中的一个表空间有一个或多个数据文件组成。

2.2 重做日志文件

每个数据库有两个或多个日志文件的组。每个日志文件组用于收集数据库日志。
日志的主要功能是记录对数据所做的修改,用于保护数据库以防止故障。

2.3 控制文件

每一Oracle数据库有一个控制文件。用于记录数据库的物理结构

三、逻辑结构

描述了数据库的物理空间怎样运用,是一种层次结构。包括表空间、段、片区、快

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Distributed transactions with multiple databases, Spring Boot, Spring Data JPA and Atomikos

2019独角兽企业重金招聘Python工程师标准>>> A couple of weeks ago I was evaluating the possibility to use Spring Boot, Spring Data JPA and Atomikos for distributed transactions involving multiple databases. After looking at the Spring blog articl…

Avalonia跨平台入门第十四篇之ListBox折叠列表

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式、动画效果、Expander控件;今天趁着空闲时间接着去摸索基于ListBox的折叠列表的效果,最终实现的效果如下图:先来看看布局吧:…

iptables配置详解

-A参数是将规则写到现有链规则的最后面-I 参数默认是将一条规则添加到现有规则链的最前面,当然也可以指定插入到第几行 行数可以用数字来指定 比如说将一条规则添加到某一条链的第三行 那么原来在第三行的规则就会降到下一行第四行。例如: iptables -I …

C语言之strstr函数类似Java字符串的contain函数

1、strstr函数介绍 找出haystack字符串在needle字符串中第一次出现的位置(不包括needle的串结束符)。返回该位置的指针,如找不到,返回空指针。 2、举例 3、运行结果

软件测试技术——软件测试概述

文章目录一、软件测试的定义标准定义Bug和缺陷二、软件测试与软件质量保证三、软件测试七大基本原则四、软件测试分类按测试手段按测试执行方式按测试阶段或层次按测试对象五、软件测试过程模型V模型W模型H模型X模型一、软件测试的定义 正向观点逆向观点验证软件是否能正常工作…

Linux-No.04 Linux 设置定时任务发送邮件功能

2019独角兽企业重金招聘Python工程师标准>>> 1、定时任务 crontab -l crontab -e /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 /sbin/…

WPF 基础控件之 DataGrid 样式

此群已满340500857 ,请加新群458041663由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 PS:有更好的方式欢迎推荐。支持NugetInstall-Package WPFDevelopers.Minimal -Version 3.2.001—代码如下一、创建…

C#页面抓取信息

//根据Url地址得到网页的html源码private string GetWebContent(string Url){string strResult"";try{HttpWebRequest request (HttpWebRequest)WebRequest.Create(Url);//声明一个HttpWebRequest请求request.Timeout 30000;//设置连接超时时间request.Headers.Set…

在 Linux 下使用 RAID(二):使用 mdadm 工具创建软件 RAID 0 (条带化)

RAID 即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护。RAID 是一些磁盘的集合,是包含一个阵列的逻辑卷。驱动器可以组合起来成为一个阵列或称为(组的)集合。 创建…

struts2批量删除

2019独角兽企业重金招聘Python工程师标准>>> 2012-10-27 12:48 997人阅读 评论(0) 收藏 举报 逻辑代码 [java] view plain copy package com.stu2; import java.util.ArrayList; import java.util.List; import java.sql.*; import com.s…

电子商务应用课程知识整理 第六章-数据挖掘

文章目录一、概述二、关联分析概念:关联分析步骤:用于寻找频繁项集的算法算法一:蛮力法算法二:Apriopri算法(先验算法)三、分类与预测k近邻算法(kNN)四、聚类分析k均值算法&#xff…

.NET Core 返回结果统一封装

本文使用.NET Core Webapi演示&#xff01;一:新建.NetCore webapi项目为了方便开发,简化代码,也为了与前端方便对接,需要对接口服务返回结果进行统一处理。二:定义返回结果结构我们需要定义一个统一返回结果泛型类ApiResultpublic class ApiResult<T>{/// <summary&g…

linux之nm命令

1、nm命令介绍 nm命令很好记&#xff0c;当时看到大神在我的电脑面前在open ssl编译的.a文件里面过滤SHA函数&#xff0c;nm你就这样记&#xff0c;nm 尼玛, 哈哈。我们可以通过nm命令查看后缀out文件和后缀a文件里面的函数和部分属性。比如我们过滤SHA函数&#xff0c;命令如下…

.NET的两种部署模式,了解一下

前言以往部署程序一直是习惯性先安装运行时环境&#xff0c;然后再将发布打包好的程序运行起来&#xff1b;但当多个程序依赖不同版本框架平台时&#xff0c;如果部署在同一台机器上&#xff0c;那就需要在同一台机器上安装多个版本的运行时&#xff0c;总感觉有点不太方便&…

CSS3弹性伸缩布局(一)——box布局

CSS3弹性伸缩布局简介 2009年&#xff0c;W3C提出了一种崭新的方案----Flex布局&#xff08;即弹性伸缩布局&#xff09;&#xff0c;它可以简便、完整、响应式地实现各种页面布局&#xff0c;包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解了。但是这个布局方式还…

Avalonia跨平台入门第十五篇之ListBox聊天窗口

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式、动画效果、Expander控件、ListBox折叠列表;今天趁着大周末的时间接着去摸索基于ListBox的聊天窗口的效果,最终实现的效果如…

《Unity着色器和屏幕特效开发秘笈(原书第2版)》一2.9 打包和混合纹理

本节书摘来自华章出版社《Unity着色器和屏幕特效开发秘笈&#xff08;原书第2版&#xff09;》一书中的第2章&#xff0c;第2.9节&#xff0c;作者 [英]艾伦朱科尼&#xff08;Alan Zucconi&#xff09; [美]肯尼斯拉默斯&#xff08;Kenneth Lammers&#xff09;&#xff0c;更…

云计算及应用课程知识整理

文章目录一、云计算云计算概念云计算的服务类型云计算技术体系结构的层次及其功能为什么云计算成本低&#xff1f;二、GFS分布式的文件系统设计需要考虑哪些问题&#xff1f;GFS架构GFS容错机制三、分布式数据处理MapReducemapReduce概念MapReduce适合什么类型数据&#xff1f;…

Android loading进度条使用简单总结

在这里&#xff0c;总结一下loading进度条的使用简单总结一下。 一、说起进度条&#xff0c;必须说说条形进度条&#xff0c;经常都会使用到嘛&#xff0c;特别是下载文件进度等等&#xff0c;还有像腾讯QQ安装进度条一样&#xff0c;有个进度总给人良好的用户体验。 先来找图看…

sublime php语法检查

安装sublimelinter 安装sublimelinter-php 设置sublimelinter 进入SublimeLinter文件夹改动 SublimeLinter.sublime-settings文件 设置php文件夹