oracle是arch还是arcn,Oracle 全部后台进程简介_仁丹的博客-程序员资料

技术标签: oracle是arch还是arcn  

LGWR,DBWR,SMON,PMON,CKPT是必需的五个后台进程。ARCH是最重要的可选后台进程。

最重要的六个进程:

1.LGWR

重做日志写进程,LOG write 负责将重做日志缓冲区记录顺序写入重做日志文件。LGWR在下列情况下将重做日志缓冲区记录(内存)顺序写入重做日志文件(外存)中5种情况:

某个事务被提交时,重做日志缓冲区中变化记录超过1M,当重做日志缓冲区中所存记录已经超过缓冲区容量的三分之一时,在DBWR将数据库高速缓冲区中修改过的数据块写到数据文件之前;每3秒。

在ORACLE 11G中:LGWR写日志条件变为三个:COMMIT,达到缓冲区三分之一,DBWR写之前.

11G实验步骤是:在一个会话SQLPLUS中开启时间提示,做插入:insert into test values(9,999888); 另一个会话做:strings /u01/oradata/bys3/redo03.log| grep 999888

可以照这思路多做几次,能发现LGWR不是3秒超时就写日志的。  但是用DTRACE来跟踪LGWR进程,会发现LGWR确实是每3秒sleep,唤醒这样的。

2.DBWR

数据库写进程,DBWR/DBWn,负责将数据库高速缓冲区中数据写到数据文件上。

DBWR在下列情况下将数据库高速缓冲区中的数据写到数据文件:8种情况

当脏缓冲区的数量超过所设定的限额;所设定的时间间隔已到;当有进程需要数据库高速缓冲区却找不到空闲缓冲区时;校验点发生时;某个表被删除或截断时;某个被表空间被设置为只读状态时;对某表空间进行联机备份时;某个临时表空间被设置为只脱机状态或正常状态等。

3.SMON

系统监管进程,如系统崩溃、断电后重新开启时,SMON将自己执行恢复工作。步骤为:

执行前滚,ROLL FORWARD,将写入重做日志文件但未写入数据文件中的提交数据写到数据文件中(SCN)

前滚完成后立即打开数据库,此时可以登录并使用数据库,这时数据文件中可能有未提交数据,回滚没提交的事务(数据)。

SMON还进行回收或组合数据文件中相连的空闲区,释放临时段等磁盘空间维护工作。4.PMON

进程监督进程,当某个进程崩溃时,如未正常退出SQLPLUS等,PMON负责如下清理工作:

回滚用户当前的事务,释放用户所加的所有表一级和行一 级的锁,释放用户所有其它资源。同时负责:动态注册监听,清除用户进程、服务器进程

5.CKPT

检查点进程,checkpoint 检查点,检查点事件是当DBWR进程把在SGA中所有已经改变的数据库调整缓冲中的数据(包括提交和未提交数据)写到数据文件上时产生。  检查点可提高效率。因为所有到检查点为止的变化的数据都已经写入数据文件中,在实例恢复时检查点之前的重做日志记录就不再需要,实例的恢复速度就加快了。一般的检查点间隔在半小时以上。

6.ARCH/ARCn

归档日志进程,最重要的可选后台进程,因为如数据库数据文件丢失或损坏,一般数据库要进行完全恢复,ORACLE数据库将运行在归档模式。

#######################################################################################

其它进程

7.MMAN

内存管理进程,负责内存的动态管理,分配和收回。Oracle 10g提供了一个新的初始化参数:sga_target来启动ASMM,该参数定义了整个SGA的总容量。

同时,初始化参数statistics_level必须设置为typical或all才能启动ASMM,如果设置为basic,则关闭ASMM。

ASMM只能自动调整5个内存池的大小,它们是:shared pool、buffer cache、large pool、java pool和stream pool。我们不再需要设置这五个初始化参数。

而其他的内存池,比如log buffer、keep buffer cache等仍然需要DBA手工进行调整。

8.CJQ0  job

任务协调进程,负责数据库中JOB的自动执行。

9.J001

job具体执行进程,接受CJQ0分发的job任务。

10.VKTM

这个进程用于提供一个数据库的时钟,每秒更新;或者作为参考时间计数器,这种方式每20毫秒更新一次,仅在高优先级时可用。通过VKTM进程,数据库可以降低和操作系统的交互.

11. DIAG

主要用来捕获实例中失败进程的诊断信息,并生成相应的TRACE文件。该进程自动启动不需要进行调整,如果该进程失效则自动重新启动。

12.DBRM

Oracle资源管理器(Oracle Database Resource Manager,以下简称DBRM)管理数据库资源,为不同的会话分配不同的数据库资源。DBRM管理的资源主要包括CPU时间。

13.RECO

分布式数据库恢复:基于2PC分布式协议,允许多个不同的修改实现原子提交,但是在真正提交前,出现网络失败等错误,事务成为一个可疑的分布式事务.此时就需要RECO来负责联系事务协调器来发现协调的结果。在这之前事务会保持未提交状态.当恢复网络或者错误解决后,RECO可能会提交事务,也可能将事务回滚

14.QMNC Q002

高级队列进程:QMNC会监视高级队列.并告诉从队列中删除等待消息的"出队进程":已经有一个消息变为可用.它们还要负责队列传播

15.SMCO

空间管理协调器进程:协调数据库的主动空间管理。

16.PSP0

进程生成器进程:它主要负责生成各个后台进程.

17.DIA0

另一个数据库诊断进程,负责检测Oracle数据库中的挂起(hang)和死锁的处理。

18.W000

命名为W000,W001,W002.....,由smcO动态产生执行上述相关任务。

19.MMON

manageability monitor,与oracle10g的新特性--诊断功能相关,负责管理一些后台任务,比收集最近修改过的 SQL 对象的统计信息

20.MMNL

与oracle10g的新特性--诊断功能相关,会根据调度从SGA将统计结果--如会话的历史信息,刷新输出至数据库表。

21.VKRM

Virtual Scheduler for Resource Manager Process

22.GEN0

Performs required tasks including SQL and DML

查询后台进程:

LINUX:

[[email protected] ~]$ ps -ef|grep ora_

oracle   21393     1  0 09:27 ?        00:00:07 ora_pmon_bys1

oracle   21397     1  0 09:27 ?        00:02:59 ora_vktm_bys1

oracle   21403     1  0 09:27 ?        00:00:03 ora_gen0_bys1

oracle   21407     1  0 09:27 ?        00:00:03 ora_diag_bys1

oracle   21411     1  0 09:27 ?        00:00:03 ora_dbrm_bys1

oracle   21415     1  0 09:27 ?        00:00:06 ora_psp0_bys1

oracle   21419     1  0 09:27 ?        00:00:11 ora_dia0_bys1

oracle   21423     1  0 09:27 ?        00:00:03 ora_mman_bys1

oracle   21427     1  0 09:27 ?        00:00:06 ora_dbw0_bys1

oracle   21431     1  0 09:27 ?        00:00:06 ora_lgwr_bys1

oracle   21435     1  0 09:27 ?        00:00:12 ora_ckpt_bys1

oracle   21439     1  0 09:27 ?        00:00:04 ora_smon_bys1

oracle   21443     1  0 09:27 ?        00:00:01 ora_reco_bys1

oracle   21447     1  0 09:27 ?        00:00:09 ora_mmon_bys1

oracle   21451     1  0 09:27 ?        00:00:12 ora_mmnl_bys1

oracle   21455     1  0 09:27 ?        00:00:01 ora_d000_bys1

oracle   21459     1  0 09:27 ?        00:00:01 ora_s000_bys1

oracle   21478     1  0 09:27 ?        00:00:02 ora_arc0_bys1

oracle   21482     1  0 09:27 ?        00:00:02 ora_arc1_bys1

oracle   21486     1  0 09:27 ?        00:00:01 ora_arc2_bys1

oracle   21490     1  0 09:27 ?        00:00:01 ora_arc3_bys1

oracle   21494     1  0 09:27 ?        00:00:01 ora_qmnc_bys1

oracle   21522     1  0 09:27 ?        00:00:10 ora_cjq0_bys1

oracle   21526     1  0 09:27 ?        00:02:16 ora_vkrm_bys1

oracle   21546     1  0 09:27 ?        00:00:01 ora_q000_bys1

oracle   21550     1  0 09:27 ?        00:00:02 ora_q001_bys1

oracle   21596     1  0 09:32 ?        00:00:03 ora_smco_bys1

oracle   26119     1  0 16:12 ?        00:00:00 ora_w000_bys1

oracle   26306     1  0 16:29 ?        00:00:00 ora_j000_bys1

oracle   26310     1  0 16:29 ?        00:00:00 ora_j001_bys1

WINDOWS下需要在数据库中查询:

SQL> select program from v$session where program like ‘ORACLE.EXE%‘;

PROGRAM

----------------------------------------------------------------

ORACLE.EXE (PMON)

ORACLE.EXE (VKTM)

ORACLE.EXE (GEN0)

ORACLE.EXE (DIAG)

ORACLE.EXE (DBRM)

ORACLE.EXE (PSP0)

ORACLE.EXE (DIA0)

ORACLE.EXE (MMAN)

ORACLE.EXE (DBW0)

ORACLE.EXE (LGWR)

ORACLE.EXE (CKPT)

ORACLE.EXE (SMON)

ORACLE.EXE (RECO)

ORACLE.EXE (MMON)

ORACLE.EXE (MMNL)

ORACLE.EXE (Q000)

ORACLE.EXE (ARC0)

ORACLE.EXE (ARC1)

ORACLE.EXE (ARC2)

ORACLE.EXE (ARC3)

ORACLE.EXE (QMNC)

ORACLE.EXE (Q002)

ORACLE.EXE (SMCO)

ORACLE.EXE (CJQ0)

ORACLE.EXE (J001)

ORACLE.EXE (J000)

ORACLE.EXE (VKRM)

ORACLE.EXE (W000)

---------------------

作者:还不算晕

来源:CSDN

原文:https://blog.csdn.net/haibusuanyun/article/details/11329457

版权声明:本文为博主原创文章,转载请附上博文链接!

原文:https://www.cnblogs.com/xibuhaohao/p/11198414.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35143455/article/details/116392882

智能推荐

干货丨快速上手前端高效框架Vue.js_传智播客的博客-程序员资料

Vue.js是一个前端框架,用于构建用户界面的渐进式框架。在Vue中一个核心的概念是,让用户不再操作DOM元素解放了用户的双手,让程序员可以更多的时间去关注业务逻辑,Vue框架能够提高开发...

C语言常见经典面试题 以及 C语言面试宝典_c语言常见面试题_斜杠青年/的博客-程序员资料

1 预处理问题1:什么是预编译?何时需要预编译?答:预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。主要处理#开头的指令。如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。.何时需要预编译:1、总是使用不经常改动的大型代码体。2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,...

银行系统的功能测试用例_银行测试用例_guangyinglanshan的博客-程序员资料

用例目的 检查普通用户正常登录系统后能不能使用余额查询功能, 用例内容 测试系统中已登录的用户能不能正常使用余额查询功能 测试步骤 按照下面的测试步骤 前提条件 系统和通信正常情况下,用户正常登录系统后 测 试 实 例 测试步骤 测试数据 预期结果 1: 用户正常登录后选择余额查询模块,点击余额查询。 a:直接点击余额查询 A::点击余额查询 1a:余额查询成功

【数字图像处理】实验一 图像的平移,缩放和旋转(vs2017+opencv)_Mr成文的博客-程序员资料

一、 平移1、思路新建一个图像,他的大小比原来的图像要大一些,因为平移后图像位置发生变化,图像被移动后,会有一部分位置空出来。平移前和平移后的效果图如图所示:【原图】【平移后的图像】原图和平移后的图像相比,很明显,红色框框住的那部分是平移后空出来的部分。所以平移思路就是,将原先图像的横坐标和纵坐标分别加上一个数字,变成一个新的坐标,然后将原图中原坐标位置的RGB赋值给新图中新坐标。...

SpringBoot基本操作(三)——SpringBoot整合SpringDataJpa(有demo)_springboot中entitymanager使用demo_朱利尔的博客-程序员资料

SpringBoot2.0笔记(一)SpringBoot基本操作——环境搭建及项目创建(有demo)(二)SpringBoot基本操作——使用IDEA打war包发布及测试(三)SpringBoot基本操作——SpringBoot整合SpringDataJpa(有demo)(四)SpringBoot基本操作——SpringBoot使用RedisTemplate整合Redis(有dem...

随便推点

电话聊天狂人(java)_weixin_38902950的博客-程序员资料

7-14 电话聊天狂人(25 分)给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤10​5​​),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码...

对应多个cuda版本的PytorchGPU版本共存_敲代码的小风的博客-程序员资料

参考链接:win10 pytorch安装(cuda + cudnn、anaconda、pytorch Win10安装CUDA10和cuDNNwin10下pytorch-gpu安装以及CUDA详细安装过程TensorFlow-gpu安装(100%成功)

无人驾驶——1.车辆运动学及动力学建模_weixin_34187862的博客-程序员资料

源自:《无人驾驶无人驾驶车辆模型预测控制》——龚建伟1.运动学模型2.动力学模型2.1 假设2.2 轮胎模型2.3 动力学模型经过一些小角度假设、慢加速度假设等:转载于:https://www.cnblogs.com/yrm1160029237/p/10087315.html...

InvalidateRect()与Invalidate()的用法_mfc invalidate 窗口句柄_ccfxue的博客-程序员资料

BOOL InvalidateRect(  HWNDhWnd,          //窗口句柄  CONST RECT*lpRect,  // 矩形区域  BOOLbErase          //是否擦除背景); InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效。InvalidateRect函数中的参数TRUE表示系统会在你画之前

RecyclerView Item 的分割线 距边框距离问题总结_recyclerview分割线左间距_SYWangZeYu的博客-程序员资料

哈, 首先  今天Design 提了一个需求,废话少说~~! 上图分割线 在中间显示,距离左边 边距是66px 右边依然是66px。刚开始接到这个需求,感觉还阔以,挺简单的,但是在实现中 又有问题了,怎么设置 都不能距离左右 有间距,上网上查依然没有解决方案。网上有设置一个 View 然后给这个 View 设置宽高 颜色 但是 在我这里不能用,因为我是自定义的控件 直接继承...

01-----关于Qt的Error while building/deploying project Onvif_Client (kit: Desktop Qt 6.0.2 MinGW 64-bit)_Mango酱的博客-程序员资料

1 可能出现Qt的Error while building/deploying project Onvif_Client (kit: Desktop Qt 6.0.2 MinGW 64-bit)的原因:1)你的Qt安装目录或者项目路径当中存在中文目录。2)未指定Qt编译器,可能是因为你的电脑曾经装过多个版本的Qt,即使卸载了(但没有卸载干净),在编译时就会出现无法指定编译器。需要把之前的清理干净,再编译就可以了。3)不小心修改了项目的构建设置,导致出现上面的问题。4)类似第2点,电脑装了多个VS版

推荐文章

热门文章

相关标签