Oracle 全部后台进程简介
最重要的六个进程:
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:
[oracle@bys001 ~]$ 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下需要在数据库中查询:
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
版权声明:本文为博主原创文章,转载请附上博文链接!
Oracle 全部后台进程简介的更多相关文章
- Oracle 数据库实例简介
回到顶部 一:Oracle 数据库实例简介 1:数据库实例的启动顺序: 使用数据库其实就是访问内存.即:数据库实例.数据库的启动是顺序是 先 nomount ----> mount --- ...
- 关于Oracle数据库后台进程
为了最大限度地提高性能并适应许多用户,多进程Oracle数据库系统使用后台进程.后台进程将合并功能,否则这些功能将由运行于每个用户进程的多个数据库程序处理.后台进程异步执行I / O并监视其他Orac ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
- oracle的后台进程能否杀掉
oracle的后台进程杀掉会有什么影响 说明:本文复制自网友的博客: https://blog.csdn.net/kellyseeme/article/details/8927757 数据库版本为: ...
- oracle后台进程简介
一:database write--数据写入 DBWR 作用:把SGA中被修改的数据同步到磁盘文件中.保证Buffer Cache中有足够的空闲数据块数量. PS:如果LGWR出现故障, ...
- <Oracle Database>后台进程
进程监视器进程(PMON) 这个进程负责在出现异常中止的连接之后完成清理.PMON会回滚未提交的工作,并释放为失败进程分配的SGA资源.PMON还负责监视其他的Oracle后台进程,并在必要时(如果 ...
- [RAC] oracle rac 后台进程
一.RAC后台进程 LMON:LOCK Monitor Processes 也被称为Global enqueue service monitor 监控整个集群状况,维护GCS的内存结构 监控非正常终止 ...
- 【Oracle】OGG(Oracle GoldenGate)简介及搭建过程
GoldenGate公司简介 GoldenGate公司专注于数据同步领域,是实现数据同步技术的领导者.至2007年,在全球35个国家售出超过2000个许可证,客户分布在政府.银行.电信.证券.传媒.医 ...
- oracle pl/sql简介、块、过程
pl/sql语言是oracle在sql上扩展的语言.1 过程.函数.触发器是在pl/sql编写2 过程.函数.触发器是在oracle中3 pl/sql的语句可以在java中直接调用 简单介绍 在sql ...
随机推荐
- PAT(B) 1071 小赌怡情(Java)
题目链接:1071 小赌怡情 (15 point(s)) 题目描述 常言道"小赌怡情".这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大 ...
- Volatile的应用场景
1.当一个变量可能会被意想不到的更新时,要使用volatile来声明该变量,告诉编译器它所修饰的变量的值可能会在任何时刻被意外的更新. 2.语法 volatile int foo; int volat ...
- Git Gui、Ssh key的使用和ideaui配置使用Git解决冲突(下)
目的: 1.Git Gui的使用 2.Ssh key 介绍及使用 2.1小结:https 和 SSH 的区别 3.Idea配置使用并使用git 4.ideaui使用Git冲突问题解决 Git Gui的 ...
- SPA中使用jwt
什么是jwt? JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案 JWT的工作原理 1. 是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户,示例如下:{&q ...
- Account locked due to 25 failed logins
Account locked due to 25 failed logins pam_tally2 --user=ops #查看 pam_tally2 --user=ops --reset # ...
- C++11(及现代C++风格)和快速迭代式开发
过去的一年我在微软亚洲研究院做输入法,我们的产品叫“英库拼音输入法” (下载Beta版),如果你用过“英库词典”(现已更名为必应词典),应该知道“英库”这个名字(实际上我们的核心开发团队也有很大一部分 ...
- DropDownList下拉控件
<asp:DropDownList ID="DropDownList1" runat="server" Width="177px" ...
- win10下,cmd,power shell设置默认编码为‘UTF-8
power shell 注:以下内容在非Windows平台上写的,可能会有拼写错误,如果有,请指正,我会尽快修正.可以用Powershell的配置文件(\(PROFILE)来实现.\)PROFILE默 ...
- RocketMQ问题
RocketMQ原理(4)——消息ACK机制及消费进度管理 RocketMQ消费者,设置setConsumeFromWhere无效的问题 MQ的CONSUME_FROM_LAST_OFFSET未生效 ...
- [Golang][Mac]Go 语言学习资料记录
背景:最近的项目开发语言是GOlang 因此需要做一些简单了解和学习记录 又可以学习一下Google的新语言了,想想有些小激动哦~ 官方网站(需翻墙才能打开,比如用蓝灯)https://golang. ...