Oracle--服务器结构详解

news2024/12/23 9:53:03

一、Oracle服务器主要组成

  • 实例(系统全局区SGA、后台进程)
  • 数据库
  • 程序全局区(PGA)
  • 前台进程


 

二、系统全局区SGA

1.高速数据缓冲区

        用来存放Oracle系统最近访问过的数据块,经常或者最近被访问的数据块会被放置到高速数据缓冲区的前端,不经常被访问的会被放置到后端

2.共享池

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

        共享池的大小由SHARE_POOL_SIZE决定

        共享池包含:

                        库高速缓冲区:包含SQL语句文本,分析代码和执行计划

                        字典高速缓冲区:包含表,列和其他对象定义和权限

3.Redo buffer(重做日志缓冲区)

        跟踪服务器和后台进程对数据库所做的更改,它的字节大小由LOG_BUFFER 参数定义。记录被更改的块、更改位置以及重做条目中的新值;重做条目不区分被更改块的类型,它只记录块中哪些字节发生了更改。重做日志缓冲区连续使用,而且一个事务处理所做的更改可能会与其它事务处理的更改交叉存取;它是在已满后可以重新使用的循环缓冲区,但是只有在所有旧的重做条目都记录在重做日志文件之后才能使用。
COMMIT提交处理:

    服务器进程随同系统更改号(SCN)一起在重做日志缓冲区中放置一个提交记录。
    LGWR 向重做日志文件中连续写入直到提交记录含提交记录的所有重做日志缓冲区条目。这之后,Oracle 服务器就能够保证即使存在实例失败也不会丢失更改。
    通知用户COMMIT 命令已完成。
    服务器进程记录信息以指出事务处理已完成并且可以释放资源锁。

4.大共享区

        存储不与SQL语句处理直接相关的大型内存结构,如在备份和还原操作中复制的数据块。

5.固定SGA

        存储Java代码

三、用户进程全局区-PGA

        又称程序全局区,可以把代码、全局变量和数据结构都存储在其中,每个Oracle服务器进程只拥有自己的那部分PGA资源

        PGA包含:

                        私有SQL区

                        会话区

四、服务器进程

        处理用户会话过程中的SQL语句和SQL Plus命令

五、后台进程

1.数据库写入程序(DBW0)

        数据库写入程序将灰数据缓冲区从数据库缓冲区高速缓存写入数据文件。它确保有足够数量的空闲缓冲区(即当服务器进程需要读取数据文件中的块时可以覆盖的缓冲区) 在数据库缓冲区高速缓存中可用。由于服务器进程只在缓冲区高速缓存中进行更改,因此数据库性能得到改善,而且DBW0 延迟写入数据文件直到发生下列事件之一:

  • 灰数据缓冲区的数量达到阈值
  • 当进行扫描而无法找到任何空闲缓冲区时进程扫描了指定数量的块
  • 出现超时(每三秒)
  • 出现检查点(检查点是使数据库缓冲区高速缓存与数据文件同步的一种方法)

2.日志写入程序(LGWR)

        将重做日志缓冲区中注册的更改写入重做日志文件。
        LGWR 在下列情况下执行从重做日志缓冲区到重做日志文件的连续写入:

        当提交事务处理时
        当重做日志缓冲区的三分之一已满时
        当重做日志缓冲区中记录了超过1 MB 的更改时
        在 DBW0 将数据库缓冲区高速缓存中修改的块写入数据文件以前因为恢复操作需要重做,所以LGWR 只在重做写入磁盘后确认COMMIT 命令

3.系统监控程序(SMON)

        检查数据库的一致性.果Oracle 实例失败,那么SGA 中尚未写入磁盘的所有信息都会丢失。实例丢失后,后台进程SMON 在数据库重新打开时自动执行实例恢复。恢复实例需要进行以下步骤:

         前滚以恢复尚未记入数据文件但已经记入联机重做日志中的数据。由于实例失败过程中SGA 的丢失,这些数据尚未写入磁盘。在这个进程中,SMON 读取重做日志文件并将重做日志中记录的更改应用到数据块中。由于所有提交的事务处理都已被写入重做日志,因此该进程完全恢复这些事务处理。
         打开数据库以允许用户登录。未被未恢复事务处理锁定的任何数据都立即可用。
         回退未提交的事务处理。它们由SMON 回退,或在访问锁定的数据时由单个服务器进程回退。

        SMON 也执行一些空间维护功能:

            联合或合并数据文件中空闲空间的邻近区域。
            回收临时段将它们作为数据文件中的空闲空间返回。临时段用于在SQL 语句处理过程中存储数据。

4.过程监视器(PMON)

        负责在一个Oracle 进程失败时清理资源,进程失败后,后台进程PMON 通过下面的方法进行清理:

  • 回退用户的当前事务处理
  • 释放当前保留的所有表锁或行锁
  • 释放用户当前保留的其它资源

5.检查点进程(CKPT)

        负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。

        

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

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

相关文章

【Win】识别Hyper-V虚拟机第一代与第二代及其差异

Hyper-V作为微软强大的虚拟化平台,允许用户创建虚拟机并安装各种操作系统。但您是否知道Hyper-V虚拟机分为第一代和第二代,并且它们之间存在一些关键差异?本文将指导您如何识别您的虚拟机属于哪一代,并详细解释两者之间的主要区别…

C#结合JS 修改解决 KindEditor 弹出层问题

目录 问题现象 原因分析 范例运行环境 解决问题 修改 kindeditor.js C# 服务端更新 小结 问题现象 KindEditor 是一款出色的富文本HTML在线编辑器,关于编辑器的详细介绍可参考我的文章《C# 将 TextBox 绑定为 KindEditor 富文本》,这里我们讲述在…

cad怎么转成pdf文件?方法很简单!

cad怎么转成pdf文件?在数字化时代,CAD图纸的转换与共享已成为日常工作中的常态。无论是建筑设计师、工程师还是学生,都可能遇到需要将CAD文件转换为PDF格式的需求。本文将为您推荐三款高效的CAD转PDF软件,让您轻松实现文件格式的转…

GPRS抄表技术是什么?

1.GPRS抄表技术概述 GPRS(GeneralPacketRadioService)抄表是一种基于移动通信网络的远程抄表技术,它利用GPRS网络进行数据传输,实现了对水、电、气等公用事业表计的实时、远程读取。这项技术的出现,极大地提升了公用事业管理的效率和准确性&…

apollo配置中心入门实践

说明: (如果微服务开发没有严格统一的代码开发规范,不建议采用apollo,否则只会更浪费时间在一堆配置上) 通常情况下,我们无论是但模块开发,还是微服务多模块开发,都采用springboot…

想要做好短视频?这5大关键点你知道吗?沈阳短视频剪辑培训

在新媒体运营中,短视频已成为抓住观众注意力的重要工具。制作成功的短视频需要细心规划和精确执行。今天小编就围绕做好短视频的五大关键点,为大家进行详细解析,帮助您提升视频的吸引力和效果。 做好短视频的5大关键点 01内容策划&#xff1…

docker通过容器id查看运行命令;Portainer监控管理docker容器

1、docker通过容器id查看运行命令 参考:https://blog.csdn.net/a772304419/article/details/138732138 docker inspect 运行镜像id“Cmd”: [ “–model”, “/qwen-7b”, “–port”, “10860”, “–max-model-len”, “4096”, “–trust-remote-code”, “–t…

【CMU 15-445】Proj3 Query Execution

Query Execution 通关记录Task1 Access Method ExecutorsSeqScanInsertUpdateDeleteIndexScanOptimizing SeqScan to IndexScan Task2 Aggregation & Join ExecutorsAggregationNextedLoopJoin Task3 HashJoin Executor and OptimizationHashJoinOptimizing NestedLoopJoin…

两台电脑如何建立局域网?三种简便方法推荐

方法一:使用网线直接连接 1、准备一根网线,长度不宜过长(建议不要超过80米,否则信号会衰减),确保两台电脑相邻或距离较近。 2、将网线的一头插入一台电脑的网口,另一头插入另一台电脑的网口。 …

MATLAB直方图有关函数的关系

histogram Histogram plot画直方图 histcounts 直方图 bin 计数 histcounts是histogram的主要计算函数。 discretize 将数据划分为 bin 或类别 histogram2 画二元直方图 histcounts2 二元直方图 bin 计数 hist和histc过时了。替换不建议使用的 hist 和 histc 实例 hist → \r…

26. 一个反射远照相物镜的设计

导论: 反摄远照相物镜是一类照相物镜的统称,他们的共同特点是有一个负光焦度的前组,和一个正光焦度的后组,至于前组和后组的具体结构,种类繁多。 反摄远物镜能同时实现大视场和大相对孔径,这类系统的长度…

工厂方法模式实战之某商场一次促销活动

目录 1.5.1、前言1.5.2、实战场景简介1.5.3、开发环境1.5.4、用传统的if-else语句实现1.5.4.1、工程结构1.5.4.2、if-else需求实现1.5.4.3、测试验证 1.5.5、工厂模式优化代码1.5.5.1、工程结构1.5.5.2、代码实现1.5.5.2.1、定义各种商品发放接口及接口实现1.5.5.2.2、定义工厂…

数据库管理-第205期 换个角度看23ai(20240617)

数据库管理205期 2024-06-17 数据库管理-第205期 换个角度看23ai(20240617)1 规范应用开发2 融合总结 数据库管理-第205期 换个角度看23ai(20240617) 作者:胖头鱼的鱼缸(尹海文) Oracle ACE Pro…

MES管理系统中的质量管理活动是什么

在制造业的广阔天地中,质量管理如同航船的指南针,指引着产品品质的航行方向。而随着科技的日新月异,MES管理系统在质量管理领域扮演着越来越重要的角色。MES管理系统不仅连接了企业的管理层与车间生产现场,更在质量管理的各个环节…

开源项目大合集(热门)

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

如何让AI 帮你生成 git 提交信息

在协同开发的项目中,我们肯定避免不了使用git提交代码,所以经常会看到了一些描述不清的提交信息。当遇到种情况时,我们也不必为此责怪开发人员,因为我们确实很难记住你在 git 提交时刚刚做了什么。 Nutlope / aicommits 一个使用 …

ABBYY Finereader 15中文版安装包下载及安装教程

​ABBYY FineReader 是一款功能强大的 OCR(Optical Character Recognition)软件,可以将扫描的文档转换为可编辑的文本文件。它不仅可以识别文本,还可以识别表格、图像和布局,使得文档的转换更加准确和方便。 安 装 包 …

图像的对比度和亮度

目标 访问像素值用0来初始化矩阵cv::saturate_cast像素转换提高一张图像的亮度 原理 图像处理 图像变换可以被视作两个步骤: 点操纵(像素转换)相邻区域转换(以面积为基础) 像素转换 在这种图像处理的转换过程中…

【电子实验4】TDA2030功率放大电路

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

如何解决 torch.cuda.is_available()是False

目录 1. 问题2. 解决方法2.1 安装torch的CUDA版本2.1.1 查看安装的torch是什么版本2.1.2 下载GPU版本的torch 2.2 安装 NVIDIA CUDA2.2.1 下载CUDA Toolkit2.2.2 安装CUDA Toolkit 最终效果 1. 问题 在Python中,使用Pytorch时,往往会选择使用CUDA模块&a…