当前位置: 首页 > news >正文

oracle后台进程详解#进程结构

一、oracle进程结构

        oracle体系结构主要有实例+数据库;

        实例由内存结构(SGA+PGA+..)和进程结构(服务器进程+后台进程+..)组成;本文主要介绍进程结构

二、服务器进程

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

        作用:

                解析并运行通过应用程序发布的SQL语句,包括创建和执行查询计划

                执行PL / SQL代码

                将数据文件中的数据块读入数据库缓冲区高速缓存(DBW后台进程的任务是将修改后的块写回到磁盘)

                返回结果的方式使应用程序可以处理信息

        服务器进程主要有2中

        (1)共享服务器进程(例如mysql)

        (2)专有服务器进程  (oracle)

                在专用服务器连接中,客户端连接仅与一个服务器进程关联。服务器进程在其PGA中存储特定于进程的信息和UGA。oralce就是专有服务器进程,每一个连接对应一个服务器进程

三、后台进程

        1.强制后台进程

            (1)进程监控进程(PMON)组

                PMON 进程监控进程

                        检测其他后台进程的终止

                        执行异常终止的后台进程恢复
                CLMN 清理主要进程

                        CLMN会定期清除终止的进程,终止的会话,事务,网络连接,空闲会话,

                        分离的事务以及已超过其空闲超时的分离的网络连接。
                CLnn 清理辅助进程 

                        CLMN将清理工作委托给CL nn协助清理进程。辅助进程的数量与要完成的清理工作量和当前的清理效率成正比。        

                这些进程负责监视和清除其他进程, 数据库必须确保释放已终止进程所拥有的资源,以便其他进程可以使用它们

                【数据库资源隔离,PMON组可以自动隔离损坏的不可恢复的资源,以便不会立即强制终止数据库实例。PMON组继续对保存隔离资源的进程或会话执行尽可能多的清除。】


            (2)进程管理器(PMAN)

                PMAN监视,产生并停止以下类型的过程

                        1、分派器和共享服务器进程

                        2、数据库驻留连接池的连接代理和池化服务器进程

                        3、作业队列流程

                        4、可重启后台程序

                PMAN监督几个后台进程,包括共享服务器,池化服务器和作业队列进程。 


            (3)监听器注册进程(LRGE)

                监听器登记处理(LREG)有关数据库实例和调度程序进程与Oracle网络监听信息。

                实例启动时。LREG会轮询侦听器以确定它是否正在运行。如果侦听器正在运行,则LREG会传递相关参数;反之,LREG会定期尝试与它联系。


            (4)系统进程监控进程(SMON)

        系统监视处理(SMON)是负责各种系统级清理职责。

                1、必要时在实例启动时执行实例恢复。

                2、恢复由于文件读取或表空间脱机错误而在实例恢复期间跳过的终止事务。

                3、清理未使用的临时段。

                4、在字典管理的表空间内合并连续的自由范围


            (5)数据库写进程(DBWn)

        DBW进程将数据库缓冲区高速缓存中的已修改缓冲区写入磁盘。(数据量大时会增加进程数DBW0~DBW99)。

       在以下情况下,DBW进程将脏缓冲区写入磁盘:

                1、当服务器进程在扫描阈值数量的缓冲区后无法找到干净的可重用缓冲区时,它会向DBW发出写信号。

                2、DBW定期写入缓冲区以推进检查点,检查点是重做线程中从其开始实例恢复的位置。


            (6)日志写入进程(LGWR)

        如果无法访问日志文件,则LGWR继续写入组中的其他文件,并将错误写入LGWR跟踪文件和警报日志。如果组中的所有文件都已损坏,或者该组由于尚未归档而无法使用,则LGWR无法继续运行

        日志写进程(LGWR)管理联机重做日志缓冲区。

        在以下情况下,LGWR将自上次写入以来已复制到缓冲区的所有重做条目写入:

                1、用户提交交易。

                2、发生联机重做日志切换。

                3、自LGWR上次写信以来已经过去了三秒钟。

                4、重做日志缓冲区已满三分之一,或包含1 MB的缓冲数据。

                5、DBW必须将修改后的缓冲区写入磁盘。

        DBWn可以写入脏缓冲区之前,数据库必须将与更改缓冲区相关联的重做记录写入磁盘(预写协议)。如果DBW发现某些重做记录尚未写入,他将通知LGWR将记录写入磁盘,并等待LGWR完成,然后再讲数据缓冲区写入磁盘。


            (7)检查点进程(CKPT)

                检查点进程(CKPT)更新控制文件和数据文件头与检查点信息和DBW到写入块到磁盘的信号。

                检查点信息包括检查点位置,SCN和联机重做日志中开始恢复的位置。


            (8)管理信息的采集进程组(MMON)(MMNL)

                MMON 管理监控进程

                        管理监控进程(MMON)执行相关的许多任务自动工作负载(AWR)
                MMNL 管理监控精简进程

                        可管理性监控精简进程(MMNL)将来自SGA中活动会话历史记录(ASH)缓冲区的统计信息写入磁盘。当ASH缓冲区已满时,MMNL写入磁盘


            (9)恢复进程(RECO)

                在分布式数据库中,恢复程序(RECO)自动解决分布式事务中的故障。

        2.可选后台进程

            (1)归档进程(ARCn)

                一个归档进程程序(ARCn)副本联机重做日志文件到离线存储重做日志切换发生后。

                这些过程还可以收集事务重做数据并将其传输到备用数据库目标。仅当数据库处于ARCHIVELOG模式并且启用自动归档时,ARC n进程才存在。


            (2)作业队列进程组(CJQ0)(Jnnn)

        动态作业队列进程可以在给定的时间间隔内同时运行许多作业,:

                1、Oracle Scheduler会根据需要自动启动和停止作业协调器进程(CJQ0)。

协调器进程会定期从系统JOB$表中选择需要运行的作业。选择的新作业按时间排序。

                2、协调器进程动态生成作业队列从属进程(Jnnn)以运行作业。

                3、作业队列进程运行CJQ0进程选择要执行的作业之一。每个作业队列进程一次运行一个作业,直到完成

                4、该过程完成单个作业的执行后,将轮询更多作业。如果没有计划执行的作业,则它将进入睡眠状态,从睡眠状态开始,它会定期唤醒并轮询更多的作业。如果该进程未找到任何新作业,则它将在预设间隔后终止。


            (3)闪回数据存档进程(FBDA)

        闪回数据存档进程(FBDA)是后台进程,提供了在表的整个生命周期内跟踪和存储表中事务性更改的功能。这样,您可以及时向后闪回表,以恢复表的状态。

        提交修改跟踪表的事务时,FBDA会检查是否正在⽣成新的Undo,过滤与标记为存档的对象相关的内容,并将Undo信息复制到闪回数据存档表空间中。FBDA维护当前行上的元数据,并跟踪已存档的数据量。

        FBDA还负责自动管理闪回数据存档的空间,组织(分区表空间)和保留时间。FBDA还跟踪已跟踪交易的归档进度。

        FBDA可以作为线程或操作系统进程运行。


            (4)空间管理协调进程 (SMCO)

                SMCO流程协调各种与空间管理相关的任务的执行。

                典型的任务包括主动空间分配和空间回收。SMCO动态产生从属进程(W nnn)以执行任务。

        3.从属进程

            (1)I/O从属进程(Innn)

        I / O从属进程(Innn)为不支持异步I/O的系统和设备模拟异步I / O,

异步I / O中,传输没有时序要求,从而使其他进程可以在传输完成之前启动

数据库支持不同类型的I / O从站,包括:

                1、Recovery Manager(RMAN)的I / O从属

使用RMAN备份或还原数据时,可以将I / O从属设备同时用于磁盘和磁带设备。

                2、如果使用多个数据库编写器进程不切实际(例如,当计算机只有一个CPU时),则数据库可以在多个从属进程上分配I / O。DBW是唯一扫描缓冲区高速缓存LRU列表以查找要写入磁盘的块的进程。但是,I / O从属为这些块执行I / O。

            (2)并行执行服务器进程(PX)


        查询协调器

        在并行执行中服务器进程充当查询协调器(也称为并行执行协调器)

        负责以下工作:

                1、解析查询

                2、分配和控制并行执行服务器进程

                3、将输出发送给用户

        生产和使用

        生产者负责处理其数据,然后将其分发给需要它的使用者

                并行执行中,多个进程同时运行以运行单个SQL语句。通过在多个进程之间划分工作,Oracle数据库可以更快地运行该语句。

相关文章:

oracle后台进程详解#进程结构

一、oracle进程结构 oracle体系结构主要有实例数据库; 实例由内存结构(SGAPGA..)和进程结构(服务器进程后台进程..)组成;本文主要介绍进程结构 二、服务器进程 Oracle数据库创建服务器进程来处理连接到该实…...

解决DDP的参数未参与梯度计算

将find_unused_parameters改成False之后,如果出现模型有些参数未参与loss计算等错误。 可以用环境变量来debug查看log。 export TORCH_DISTRIBUTED_DEBUGDETAIL 代码上可以用以下方法查看。 # check parameters with no grad for n, p in model.named_parameters(…...

cpp primer笔记100-拷贝控制

如果拷贝构造函数如果传递的参数不是引用类型,则调用拷贝永远不成功,因为如果调用了拷贝构造函数,则必须拷贝它的实参,但是为了拷贝实参,我们又需要调用拷贝构造函数,如此循环。 如果想要删除默认构造函数…...

【数据库——MySQL】(16)游标和触发器习题及讲解

目录 1. 题目1.1 游标1.2 触发器 2. 解答2.1 游标2.2 触发器 1. 题目 1.1 游标 创建存储过程,利用游标依次显示某部门的所有员工的实际收入。(分别用使用 计数器 来循环和使用 标志变量 来控制循环两种方法实现) 创建存储过程,将某部门的员工工资按工作…...

javascript二维数组(9)toString的用法

在JavaScript中,toString() 是一个内置方法,用于将特定的对象转化为字符串表示形式。 基本使用示例 以下是一些 toString() 方法的基本使用示例: 数字的 toString(): let num 123; console.log(num.toString()); // 输出: &…...

OpenAI重大更新!为ChatGPT推出语音和图像交互功能

原创 | 文 BFT机器人 OpenAI旗下的ChatGPT正在迎来一次重大更新,这个聊天机器人现在能够与用户进行语音对话,并且可以通过图像进行交互,将其功能推向与苹果的Siri等受欢迎的人工智能助手更接近的水平。这标志着生成式人工智能运动的一个显著…...

【开发篇】十六、SpringBoot整合JavaMail实现发邮件

文章目录 0、相关协议1、SpringBoot整合JavaMail2、发送简单邮件3、发送复杂邮件 0、相关协议 SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于发送电子邮件的传输协议POP3(Post Office Protocol - Versi…...

如何在Ubuntu系统部署RabbitMQ服务器并公网访问【内网穿透】

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…...

Flutter笔记:用于ORM的Floor框架简记

Flutter笔记 用于ORM的Floor框架简记 本文地址:https://blog.csdn.net/qq_28550263/article/details/133377191 floor 模块地址:https://pub.dev/packages/floor 【介绍】:最近想找用于Dart和Flutter的ORM框架,偶然间发现了Floor…...

Zabbix自定义脚本监控MySQL数据库

一、MySQL数据库配置 1.1 创建Mysql数据库用户 [rootmysql ~]# mysql -uroot -p create user zabbix127.0.0.1 identified by 123456; flush privileges; 1.2 添加用户密码到mysql client的配置文件中 [rootmysql ~]# vim /etc/my.cnf.d/client.cnf [client] host127.0.0.1 u…...

【Spatial-Temporal Action Localization(五)】论文阅读2020年

文章目录 1. Actions as Moving Points摘要和结论引言:针对痛点和贡献模型框架实验 1. Actions as Moving Points Actions as Moving Points (ECCV 2020) 摘要和结论 MovingCenter Detector (MOCdetector) 通过将动作实例视为移动点的轨迹。通过三个分支生成 tub…...

Linux基本指令(中)——“Linux”

各位CSDN的uu们好呀,今天,小雅兰的内容是Linux基本指令呀!!!下面,让我们进入Linux的世界吧!!! cp指令(重要) mv指令(重要&#xff09…...

OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击

作者:gentle_zhou 原文链接:OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击-云社区-华为云 Web应用程序安全一直是一个重要的话题,它不但关系到网络用户的隐私,财产,而且关系着用户对程序的新…...

Java自定义类加载器的详解与步骤

自定义类加载器的步骤 继承ClassLoader类:首先创建一个新的类,该类需要继承ClassLoader类。可以通过直接继承ClassLoader或是间接继承URLClassLoader等子类来实现。重写findClass()方法:在自定义类加载器中,最重要的是重写findCl…...

完美清晰,炫酷畅享——Perfectly Clear Video为你带来卓越的AI视频增强体验

在我们日常生活中,我们经常会拍摄和观看各种视频内容,无论是旅行记录、家庭聚会还是商务演示,我们都希望能够呈现出最清晰、最精彩的画面效果。而现在,有一个强大的工具可以帮助我们实现这一目标,那就是Perfectly Clea…...

如何让FileBeat支持http的output插件

目录 1 缘由2 编译filebeat3 配置虚拟机访问外网4 编译beats-output-http4.1 使用本地包4.2 发布在线包 5 测试6 beats-output-http的部分解释 1 缘由 官网的filebeat只有以下几种output插件: Elasticsearch ServiceElasticsearchLogstashKafkaRedisFileConsole …...

解密人工智能:决策树 | 随机森林 | 朴素贝叶斯

文章目录 一、机器学习算法简介1.1 机器学习算法包含的两个步骤1.2 机器学习算法的分类 二、决策树2.1 优点2.2 缺点 三、随机森林四、Naive Bayes(朴素贝叶斯)五、结语 一、机器学习算法简介 机器学习算法是一种基于数据和经验的算法,通过对…...

web:[极客大挑战 2019]BabySQL

题目 点进页面显示如下 查看源代码 先尝试一下万能密码 没用,or被过滤了 试着双写看看 回显一串,也不是flag 先查询列数尝试一下,把union select过滤了,使用双写 构造payload /check.php?usernameadmin&password1 %27 ununi…...

DRM全解析 —— plane详解(1)

本文参考以下博文: Linux内核4.14版本——drm框架分析(5)——plane分析 特此致谢! 1. 简介 一个plane代表一个image layer(硬件图层),最终的image由一个或者多个plane(s)组成。plane和 Framebuffer 一样是内存地址。…...

数据结构总结

数据结构 相关博文 单链表数组模拟单链表-CSDN博客双链表数组模拟双链表-CSDN博客栈及单调栈数组模拟栈以及单调栈-CSDN博客队列及单调队列数组模拟队列以及单调队列-CSDN博客KMPKMP详细算法思路-CSDN博客TrieTire树的理解-CSDN博客并查集并查集(面试常考&#xff…...

在SOLIDWORKS搭建一个简易的履带式机器人

文章目录 前言一、构建模型基本单元二、搭建车体模块三.插入轮子4.构建履带 前言 趁着十一假期,在solidworks中搭建了一个履带式机器人小车,计划将其应用在gazebo中完成多机器人编队的仿真。 一、构建模型基本单元 构建底板(a面&#xff09…...

C# 为什么要限制静态方法的使用

前言 在工作了一年多之后,我发现静态方法的耦合问题实在是头疼。如果可以尽量不要使用静态方法存储数据,如果要存储全局数据就把数据放在最顶层的主函数里面。 静态方法问题 耦合问题,不要用静态方法存储数据 我这里有两个静态方法&#…...

【已解决】Pyecharts折线图,只有坐标轴没有折线数据

【已解决】Pyecharts折线图,只有坐标轴没有折线数据 1、问题复现2、原因3、问题解决 1、问题复现 在做简单的数据通过 Pyecharts 生成折现图的时候,一直只有坐标轴没有折线数据,但是代码一直看不出问题,代码如下: im…...

win10搭建Selenium环境+java+IDEA(3)

这里主要对前面的maven和selenium做补充说明,以及更新一些pom文件下载依赖的问题。 IDEA里面,如果你创建的工程是maven工程文件,那么就会有一个pom.xml文件,可以在这个网站:https://mvnrepository.com/搜索依赖&#…...

String 、Stringbuffer、StringBuilder区别

上代码 public class Test {public static void main(String[] args) {//String 连接10000次消耗1127ms//StringBuffer 连接10000次消耗5ms//StringBuilder 连接10000次消耗3msStringTest(10000);StringBufferTest(10000);StringBuilderTest(10000);}public static void Strin…...

如何提升爬虫IP使用效率?精打细算的方法分享

在进行爬虫数据采集时,爬虫IP是不可或缺的工具。然而,爬虫IP的费用可能是一个爬虫项目的重要开支之一。为了帮助您节省爬虫IP经费,本文将分享一些经济高效的方法,让您在使用爬虫IP时更加节约成本,提高经济效益。 一、优…...

(高阶) Redis 7 第19讲 缓存过期淘汰策略 大厂篇

🌹 以下分享 Redis 缓存淘汰策略,如有问题请指教。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有对阁下帮助,请👍点赞💖收藏🐱‍🏍分享😀 面试题 1. 生产上,redis内存设置的多少 2. 如何配置、修改Redis 内存大小 3. 如果内存满了,如何处理 4. …...

【四旋翼飞行器】模拟四旋翼飞行器的平移和旋转动力学(Simulink仿真实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

Kaggle - LLM Science Exam(一):赛事概述、数据收集、BERT Baseline

文章目录 一、赛事概述1.1 OpenBookQA Dataset1.2 比赛背景1.3 评估方法和代码要求1.4 比赛数据集1.5 优秀notebook 二、BERT Baseline2.1 数据预处理2.2 定义data_collator2.3 加载模型,配置trainer并训练2.4 预测结果并提交2.5 deberta-v3-large 1k Wiki&#xff…...

mmap底层驱动实现(remap_pfn_range函数)

mmap底层驱动实现 myfb.c&#xff08;申请了128K空间&#xff09; #include <linux/init.h> #include <linux/tty.h> #include <linux/device.h> #include <linux/export.h> #include <linux/types.h> #include <linux/module.h> #inclu…...

响应式 官网网站/网络营销课程个人总结范文

这篇文章必须要C C C C C C 啊 背景 mqtt在物联网协议中算是举足轻重的地位,所有在很多物联网平台,或一些其他硬件上都是优先支持mqtt协议。本篇文件我就来和大家讲解一下如何在tb平台使用mqtt上传数据,服务端下发rpc指令。 mqtt配置 thingsboard默认已经实现了mqtt的代…...

浙江省住房与城乡建设部网站/运营推广是做什么的

先来说说「Core Foundation」&#xff08;以下简称CF&#xff09;的历史吧。当年乔布斯被自己创办的公司驱逐后&#xff0c;成立了「NeXT Computer」,其实做的还是老本行&#xff1a;卖电脑&#xff0c;但依旧不景气。好在NeXTSTEP系统表现还不错&#xff0c;亏损不至于太严重。…...

铜仁住房和城乡建设局网站/站长之家备案查询

一 机器学习、数据挖掘、深度学习经典博客网站 http://www.cnblogs.com/maybe2030 1. 算法&#xff08;包括机器学习算法、进化计算、群体智能优化算法等&#xff09; [Machine Learning] 深度学习中消失的梯度 [Machine Learning] logistic函数和softmax函数 [Machine Learnin…...

自助下单网站咋做/搜索排名怎么做

关于如何选图片格式是因为PNG就是为取代GIF而生的&#xff0c;而且PNG的压缩算法也要优于GIF&#xff0c;所以只要不是需要动画效果的地方强烈建议都采用PNG格式图片。JPG不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。根据经验我们在页面中…...

wordpress注册邮件验证/新闻软文推广案例

异常 原因 是我浏览器使用的广告拦截插件阻止了请求的发送。我这里使用的广告拦截插件是ADGUARD。 解决 关闭该插件&#xff0c;但为了其他网页能拦截广告&#xff0c;应该过滤掉该页面。 能正常发送了 参考链接&#xff1a;接口请求跳坑&#xff1a; Status (blocked:other)…...

电子商城网站建设费用/seo快排技术教程

1 大纲概述html文本分类这个系列将会有十篇左右&#xff0c;包括基于word2vec预训练的文本分类&#xff0c;与及基于最新的预训练模型(ELMo&#xff0c;BERT等)的文本分类。总共有如下系列&#xff1a;git2 数据集数据集为IMDB 电影影评&#xff0c;总共有三个数据文件&#xf…...