Oracle 体系结构

文章目录

      • Oracle体系结构
      • Oracle的内存结构
      • Oracle的进程结构
        • 服务器进程
        • 后台进程
        • 可选后台进程
      • 物理存储结构
      • 逻辑存储结构

概念: Oracle server由Oracle instance和Oracle database组成,Oracle instance由后台进程和共享内存组成,Oracle的实例包含了内存结构和进程结构,Oracle database由物理文件组成。

Oracle体系结构

在这里插入图片描述
总体的体系结构
在这里插入图片描述

Oracle的内存结构

oracle 内存主要由SGA+PGA+后台进程组成
在这里插入图片描述
SGA 的组成
共享池 shared pool、大池 large pool、流池 streames pool、JAVA 池java pool、重做日志缓冲区 redo log buffer、数据库高速缓冲区 database buffer cache、in-memory 区。

shared pool(共享池)
缓存执行过的SQL语句,执行计划、 PL/SQL语句的代码块、 以及在编译SQL, PL/SQL语句是参照的数据字典信息、 提高SQL语句以及PL/SQL语句的执行效率。

database buffer cache(数据库缓冲区)
数据库缓冲区的主要作用是缓存使用过的数据,Oracle数据库中所有的操作都是在buffer cache中进行,每次做dml或者ddl的时候会先将把数据文件里的数据读取到buffer cache中,再进行操作。

redo log buffer(重做日志缓冲区)
Redo Log Buffer 缓存数据库修改的信息,后台进程LGWR负责将Redo Log Buffer中的信息写入到磁盘上,必要时,重做条目还可以用于数据库恢复。

Large pool(大池)
large pool用来备份恢复,用以缓解oracle对共享池和pga区内存的使用压力。

Java pool(Java池)
用于Java程序使用,JVM等

stream pool(流池)
数据库在流工作是使用的内存区域。

Oracle的进程结构

客户端进程+ Oracle 进程( 后台进程+ 服务器进程 )组成
在这里插入图片描述

服务器进程

处理连接到该实例的客户端进程的请求。客户端进程始终通过单独的服务器进程与数据库通信。

1.解析并运行sql语句,包括创建和执行查询计划
2.执行pl/sql代码
3.将数据文件读入高速缓冲区(buffer cache)
4.返回结果

服务器进程分为二类
专有服务器进程: 客户端连接仅与一个服务器进程关联。每个客户端进程都直接与其服务器进程通信

共享服务器进程: 客户端应用程序通过网络连接到调度程序进程,而不是服务器进程,接收来自已连接客户端的请求,并将其放入大型池的请求队列中

后台进程

后台进程执行操作数据库所需的维护任务,并最大化多个用户的性能。

程序监控进程(PMON):
监视其他后台进程和执行进程恢复, 如: 如果Server process非正常关闭,则PMON负责清理它占用的各种资源。

监听器注册器进程(LREG)
LREG 向监听器注册有关实例和调度程序进程的信息, 实例启动时,LREG 轮询侦听器以确定它是否正在运行。如果侦听器正在运行,则 LREG 会向其传递相关参数。如果它没有运行,则 LREG 会定期尝试与它联系。

系统监控进程(SMON)
负责各种系统级清理职责
1.必要时在实例启动时执行实例恢复
2. 清理未使用的临时段。例如,Oracle 数据库在创建索引时分配范围。如果操作失败,则 SMON 清理临时空间。

数据库写进程(DBW n)
将数据库缓冲区的内容写入数据文件。DBW n 进程将数据库缓冲区高速缓存中的已修改缓冲区数据写入磁盘。

日志写进程(LGWR)
负责管理重做日志缓冲区。LGWR 将重做日志缓冲区的一个连续部分内容写入到联机在线重做日志文件中。

在以下情况下,LGWR 将自上次写入以来已复制到缓冲区的所有重做条目写入:
用户提交事务。
发生联机重做日志切换。
自 LGWR 上次写以来已经过去了三秒钟
重做日志缓冲区已满三分之一,或包含 1 MB 的缓冲数据。
DBW n 必须将修改后的缓冲区写入磁盘
在 DBW n 可以写入脏缓冲区之前,必须将与更改缓冲区相关联的重做记录写入磁盘。

检查点进程(CKPT)
更新控制文件和数据文件的相关信息,通知 DBWn 后台进程写磁盘。

可选后台进程

存档进程(ARC n)
将联机重做日志文件复制到脱机的归档文档中,即归档。

作业队列进程(CJQ0 和 Jnnn) Oracle 数据库动态地管理作业队列过程,从而使作业队列客户端可以在需要时使用更多的作业队列过程。

物理存储结构

Oracle 数据库有哪些数据库文件

数据文件: 数据文件是一个由 Oracle 数据库创建,并包含数据结构,包含数据库中的用户数据和应用程序数据。

控制文件 Control files:
存储数据库物理结构(数据文件、联机重做日志文件和归档的重做日志文件)位置的信息。是 Oracle 数据库用来查找定位数据库文件,并管理数据库状态的根文件。在数据库装载(mount)和打开(open)后使用控制文件。

联机重做日志文件 Online redo log files
存储的是数据进行更改的记录信息。数据库维护在线重做日志文件,以防止数据丢失。用于数据库恢复。

逻辑存储结构

Oracle 数据库为数据库中的所有数据分配逻辑空间,数据库空间分配的逻辑单元是数据块、 扩展区、 段、和表空间。在物理级,数据被存储在磁盘上的数据文件中,数据文件中的数据存储 在操作系统块中。以下是物理和逻辑存储的实体关系图

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

层次分析法及找工作问题实战

学习知识要实时简单回顾,我把学习的层次分析法简单梳理一下,方便入门与复习。 AHP 层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那…

认识监听器(Listener)

监听器是什么? 监听器(Listener)是一种运行在后台的程序,它主要用于监控某些事件在系统中的发生,并且根据这些事件做一些特定的处理。在Web应用程序中,监听器可以观察ServletContext、HttpSession以及Serv…

vue项目为例解决element ui 时间选择器 picker使用样式穿透不起作用问题

今天在开发中 需要修改时间选择器弹出的这个组件的样式 但这个东西比较坑爹 首先 不能影响其他组件 就是其他组件用了时间选择器 不能受到我们写的样式的影响 那么 就只好穿透了 但你会发现 这东西是作用与body下的 就很坑 穿透我试了挺久的 不起作用 但官方文档有提供给我们一…

体验 gpt4free

体验 gpt4free 什么是 gpt4free效果演示安装 ffmpeg启动 gpt4free访问 gpt4free gui其他 什么是 gpt4free GPT4Free 是一个由 xtekky 创建的基于 OpenAI GPT-4 和 GPT-3.5 的 API。它可以向用户提供类似于 OpenAI GPT-3 的功能,如文本生成、问答、翻译等。 GPT4Fre…

UE5.1.1 C++ 从0开始 (1.人物移动)

开个天坑,UE5.1.1的移动代码做了一个大更新,对于我这种万年蓝图然后正在转C的人来说可以说是个挑战也可以说是个更方便我去工作的一个点。同时斯坦福大学的那个教程的开头几个章节就不适用了,对于学习UE5.1.1的同学来说。所以我这里会尽量每天…

c# 数据保存为PDF(二) (Aspose pdf篇)

文章目录 前言关于Aspose PDF使用Aspose.Pdf常用的命名空间和类库1 创建简单的PDF文档2 美化PDF样式2.1 创建测试数据2.2 项目头部样式2.3 全部代码 小结附录参考 前言 项目中需要将数据导出存为PDF格式,试了一下Aspose组件,仅以此记录一下使用感受。 …

为什么半导体FAB生产线需要EAP系统?

在半导体制造中,设备自动化系统EAP(Equipment Automation Program)是不可或缺的重要软件,它是连接MES、RMS、APC、FDC等上层系统和设备层的桥梁,用于管控生产线上的所有机台,并实现设备运行的自动化。 作为…

团队密码管理器Passbolt的安装

老苏下载了吴恩达联手 OpenAI 推出的 Prompt for developer 课程,总长度大概在一个半小时左右,可以让我们学习正确的 ChatGPT Prompt 工程 虽然课程对话是英文,但有中文字幕,课程地址:https://www.aliyundrive.com/s/…

Redux 学习系列(一) —— 基础概念入门篇

简介 Redux 是一个可预测的 JavaScript 应用状态管理容器,也可以说是一个应用数据流框架。 作用 Redux 主要是用作应用状态的管理。它抽离所有组件的状态,构造一个中心化的单独常量状态树(对象)来保存这一整个应用的状态。这棵…

java 学习日记

今天先搞题目 给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] [xi, yi] 。 连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| |yi - yj| ,其中 |val| 表示 val 的绝对值。 请你返回将所…

TikTok选品要怎样才能选到爆品?!

对于做TikTok的商家而言,选品是非常重要的,因为一个产品爆了之后能带动其他产品的销量,那我们要如何有效的选品呢? 一、多平台选品逻辑 首先要知道一个点,在独立站爆的品也会在亚马逊爆,而TikTok已经成为一…

4D成像雷达风口,谁在快速崛起?

4D成像雷达正进入规模量产落地的关键窗口期。 高工智能汽车注意到,毫米波雷达的发展某种程度上可以分为两个阶段:第一个阶段,传统毫米波雷达时代,市场基本被博世、大陆、安波福等国际Tier1巨头把持,市场格局长期稳固&…

PyTorch数据加载工具:高效处理常见数据集的利器

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

SpringBoot中策略模式+工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else

场景 设计模式-策略模式在Java中的使用示例: 设计模式-策略模式在Java中的使用示例_java 策略模式示例_霸道流氓气质的博客-CSDN博客 上面讲了策略模式在Java中的使用示例。 下面看一个在SpringBoot中的实际使用示例。 业务场景: 有多个煤矿,信号灯…

智安网络|网络安全威胁越来越多,教你如何全方面应对

随着互联网的普及和发展,各大网站已经成为人们获取信息和交流的主要平台。然而,随着网络攻击和恶意软件的威胁不断增加,网站经常成为攻击者的目标。因此,在建立和维护网站系统时,必须采取强大的安全措施。 一、网站系…

第四十二章 Unity 下拉框 (Dropdown) UI

本章节我们介绍下拉框 (Dropdown),我们点击菜单栏“GameObject”->“UI”->“Dropdown”,然后调整它的位置,效果如下 其实它的本质就是一个下拉列表,然后选择列表中的一个选项而已。大家在很多网页中应该可以看到类似的UI元…

Vue框架

目录 简单介绍 MVVM 下载安装Node.js 安装Vue.js插件 新建Vue.js项目 下载vue依赖库 Vue工程目录结构 修改代码模板 vue组件中,添加模型数据 Vue双向绑定 动态绑定 vue组件中,显示图片 单选框绑定 复选框绑定 Vue的script表达式 Vue实例声…

MySQL概述 -- 数据模型SQL简介DDL数据库操作

一. 数据模型 介绍完了Mysql数据库的安装配置之后,接下来我们再来聊一聊Mysql当中的数据模型。学完了这一小节之后,我们就能够知道在Mysql数据库当中到底是如何来存储和管理数据的。 在介绍 Mysql的数据模型之前,需要先了解一个概念&#x…

【Linux】进程地址空间

目录 引入 进程地址空间 虚拟地址与物理地址 如何理解虚拟地址的不同区域 写时拷贝 动态开辟的细节 为什么存在进程地址空间 避免地址被随意访问 进程管理和内存管理解耦合 使进程用统一的视角看待代码和数据 引入 🎃我们写一个这样的程序,运…

算法记录 | Day50 动态规划

123.买卖股票的最佳时机III 思路: 1.确定dp数组以及下标的含义 最多可完成两笔交易意味着总共有三种情况:买卖一次,买卖两次,不买卖。 具体到每一天结束总共有 5 种状态: 未进行买卖状态;第一次买入状…