oracle各后台进程介绍

  后台进程用来执行保证数据库运行所需的实际维护任务。如:某个后台进程维护缓冲区缓存,根据需要将块写出到数据文件.

  另个进程负责在线重做日志文件写满时将它自己复制到一个归档目标.

  可以通过查询v$bgprocess视图看服务器当前后台进程

  SQL> select paddr,name,description from v$bgprocess where paddr!='00';

  PADDR NAME DESCRIPTION

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

  00000001EB1F5920 PMON process cleanup

  00000001EC226B30 VKTM Virtual Keeper of TiMe process

  00000001EB1F69A0 GEN0 generic0

  00000001F0269448 DIAG diagnosibility process

  00000001EC227BB0 DBRM DataBase Resource Manager

  00000001EB2137A0 VKRM Virtual sKeduler for Resource Manager

  00000001F02683C8 PSP0 process spawner 0

  00000001EB1F7A20 DIA0 diagnosibility process 0

  00000001F026A4C8 MMAN Memory Manager

  00000001EC228C30 DBW0 db writer process 0

  00000001EB1F8AA0 DBW1 db writer process 1

  00000001EB1FFE20 ARC0 Archival Process 0

  00000001F02728C8 ARC1 Archival Process 1

  00000001EC231030 ARC2 Archival Process 2

  00000001EB200EA0 ARC3 Archival Process 3

  00000001F026B548 LGWR Redo etc.

  00000001EC229CB0 CKPT checkpoint

  00000001EB1F9B20 SMON System Monitor Process

  00000001EB1FCCA0 SMCO Space Manager Process

  00000001F026C5C8 RECO distributed recovery

  PADDR NAME DESCRIPTION

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

  00000001EB201F20 CJQ0 Job Queue Coordinator

  00000001F0273948 QMNC AQ Coordinator

  00000001EC22AD30 MMON Manageability Monitor Process

  00000001EB1FABA0 MMNL Manageability Monitor Process 2

  根据版本的不同,后台进程数、名称、类型等都可能不同.

  中心后台进程:

  PMON(进程监视器):负责在出现异常中止的连接后完成清理.PMON还会向oracle TNS监听器注册通信,向它传递相关的参数.

  SMON(系统监视器):完成所有的系统级任务.包括以下内容:

  清理临时空间,合并空闲空间,针对原来不可用的文件恢复活动的事务,执行RAC中失败节点的实例恢复,清理OBJ$,收缩回滚段,‘离线’回滚段.

  RECO(分布式数据库恢复):基于2PC分布式协议,允许多个不同的修改实现原子提交,但是在真正提交前,出现网络失败等错误,事务成为一个可疑的分布式事务.此时

  就需要RECO来负责联系事务协调器来发现协调的结果。在这之前事务会保持未提交状态.当恢复网络或者错误解决后,RECO可能会提交事务,也可能将事务回滚.

  注:可疑分布式事务会导致写阻塞读的情况,即可疑分布式事务不能存在太长时间,DBA可自行手动提交或回滚.

  CKPT(检查点进程):建立检查点主要是DBWn的任务.CKPT主要是更新数据文件的文件首部,从而辅助真正的建立检查点的进程.

  DBWn(数据库块写入器):负责将脏块(修改过的块)写入磁盘的后台进程,它会写出缓冲区缓存的脏块,从而释放相应的空间.可以配置多个DBWn(上面有2个DBW0和DBW1),

  最好的情况是DBWn使用异步I/O将块写入磁盘.采用异步I/O,DBWn会收集要写入的块,交给操作系统,然后立即返回,并收集下一批要写的块,操作系统完成写文件操作之后,它会异步地通知DBWn.

  LGWR(日志写入器):它负责将SGA中重做日志缓冲区的内容刷新输出到磁盘.一般在下面几个情况时候,LGWR就会执行刷新操作:

  1.每隔3秒会自动刷新一次

  2.任何事务发出一个提交时

  3.重做日志缓冲区1/3满,或者包含1MB的缓冲数据的时候.

  ARCn(归档进程):当LGWR将在线重做日志写满时,归档进程就将其复制到另一个位置.ARCn一般将在线重做日志至少复制到两个位置.一般用于硬盘等介质损坏时数据库的恢复.

  DIAG(诊断性进程):它会负责监视实例的整体状况,捕获处理实例失败时所需的信息并记录.

  FBDA(闪回数据归档进程):此进程为oracle 11g r1版本新增进程.主要用于闪回数据,它主要维护随时间对表中每行所做的改变,而实现历史数据查询.它将读取事务生成的UNDO,并回滚事务做出的改变,然后将回滚的这些行记录保存在闪回数据归档中.

  DBRM(数据库资源管理器进程):为数据库实例配置资源计划.

  GEN0(通用任务执行进程):主要是分担另外某个进程的阻塞处理。

  可选后台进程:

  ASMB(自动存储管理后台):该进程出现在ASM的数据库实例中.它负责与管理存储的ASM实例通信,向ASM实例提供更新的统计信息,并向ASM实例提供一个"心跳".

  RBAL(重新平衡进程):该进程也在使用了ASM的数据库实例中运行,向ASM磁盘组增加或去除磁盘时,它负责处理平衡请求,也就是重新分布负载请求.

  RAC环境后台进程:

  LMON(锁监视器):监视集群中的所有实例,检测实例是否有失败.在实例离开或重新加入集群时重新配置锁和其他资源。

  LMD(锁管理器守护进程):它为全局缓存服务(保持块缓冲区在实例间一致)处理锁管理器服务请求.

  LMSn(锁管理器服务器进程):主要维持SGA块缓冲区缓存在各个RAC实例间相互保持一致.

  LOCK(锁进程):与LMD相似,但它处理所有全局资源的请求.

  工具后台进程

  CJQO和Jnnn(作业队列进程):oracle通过一种称为快照的数据库对象来提供复制特性,作业队列就是刷新快照时使用的内部机制.

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

  EMNC(事件监视器进程):它是AQ体系结构中的一部分,用于通知对某些消息感兴趣的队列.

  DMnn和DWnn(数据泵主进程/工作进程):数据泵是oracle 10g r1中新增的特性,主要用来替代EXP/IMP。

  其他后台进程

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

  VKTM(虚拟时间管理器进程):为oracle实例实现一个一致的、细粒度的时钟.

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

时间: 2024-11-03 11:44:53

oracle各后台进程介绍的相关文章

ORACLE常用后台进程说明

本文相对较为简单,简单介绍一下ORACLE后台进程(ORACLE的INSTANCE主体是由内存+后台进程组成),其中部分也是备份与恢复的关键点,本文主要说一下ORACLE后台进程的工作原理,首要分类的是将ORACLE后台进程分为:独立模式.共享模式,我们一般采用独立模式,也就是会话的后台进程是独立的,共享模式相对来说有一个分配资源和并行处理的,所以用于MTS系统中,暂时不考虑这方面的问题,简单说下进程吧:   1.ORACLE进程查询介绍 2.核心进程PMON说明 3.核心进程SMON说明 4.

Oracle压缩功能介绍

大家听到这个词,一定就想到了节省硬盘空间吧.没错,它就是用来干这个的,但是向外延伸一下,它不仅可以节省硬盘空间,更可以节省带宽以及内存的使用(cpu有一点点损耗因为需要更多的计算取值操作,但是鉴于大多数环境下cpu都有空闲,所以也可以忽略了). Basiccompression这个功能从9i开始就有提供,11gr1开始提供了新的压缩功能,即OLTP compression.Basic compression是包括在EE版本中的,不需要额外收费,但是OLTP compression则需要额外的Or

ORACLE常用第三方软件介绍

oracle  摘要:古话说:"工欲善其事,必先得其器",虽然感觉起来那些使用命令行.脚本的玩转ORALCE的人才是大侠,但是有了良好的第三方的软件便可以把我们使用ORACLE水平发挥到极至,从而也更大的提高我们应用ORACLE的效率.  一.首先值得一题的便是PL/SQL Developer,这几乎是oracle的那些大侠都在使用软件,也是我最喜欢的软件,强力推荐: 1.  软件评定:★★★★★ 2.  优点: a.    全而支持oracle7.x.8.x.9i,采用oci直接or

Oracle正则表达式使用介绍_正则表达式

下面通过一些例子来说明使用正则表达式来处理一些工作中常见的问题. 1. REGEXP_SUBSTR REGEXP_SUBSTR 函数使用正则表达式来指定返回串的起点和终点,返回与source_string 字符集中的VARCHAR2 或CLOB 数据相同的字符串. 语法: --1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串 REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]]

Oracle Data Integrator 介绍

转自:http://my.oschina.net/aiguozhe/blog/115773 本文介绍了 Oracle Data Integrator,它是一个基于 Java 的中间件,可以使用数据库在 SOA 中执行基于集合的数据集成任务.     现在,复杂的"可热插拔"系统和面向服务的体系结构 (SOA) 得到了广泛应用,这使得将数据合理地整合在一起的难度日益增加.尽管您的主要应用程序数据库在 Oracle 数据库上运行,但是可能还有其他较小的系统在其他供应商提供的数据库和平台上运

Oracle systemstate dump介绍

    当数据库出现严重的性能问题或者hang起的时候,那么我们非常需要通过systemstate dump来知道进程在做什么,在等待什么,谁是资源的持有者,谁阻塞了别人.在出现上述问题时,及时收集systemstate dump非常有助于问题原因的分析.一般Oracle Support工程是也是需要你提供systemstate dump生成的trace文件做分析,关于systemstate dump的资料,其实没有非常详细的官方介绍资料,都是一些零零散散的介绍. 当 数据库出现严重性能问题或h

oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)_oracle

oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的.和PL/SQL程序相比,存储过程有很多优点,具体归纳如下: * 存储过程和函数以命名的数据库对象形式存储于数据库当中.存储在数据库中的优点是很明显的,因为代码不保存在本地,用户

Oracle 10g lite 介绍

原文整理自网络: 摘要:近年来,嵌入式数据库发展迅速,出现了许多优秀的软件产品,这些产品可以广泛应用于资源紧张的嵌入式计算机或手持终端.Oracle作为著名数据库厂商也推出了自己的嵌入式数据库产品.本文着重介绍了ORACLE10G LITE嵌入式数据库系统的特点.机制以及如何应用于某机动式指挥系统. 中国论文网 关键词:嵌入式数据库:手持终端:Oracle 10g lite 中图分类号:TN915.09 文献标识码:A文章编号:1007-9599 (2012) 08-0000-02 一. 嵌入式

关于oracle Scheduler的介绍——管理scheduler

整理自君三思博客:http://blog.itpub.net/7607759/viewspace-612220/ 三.使用Schedules 10g 中新推出的SCHEDULER可能确实会让很多初接触的朋友感觉晕头晕脑,相比之前的jobs,SCHEDULER中新增的概念太多.比如说jobs,仍然可以理解成之前版本中的jobs,不过功能更加强大(注意10g中也仍然可以使用普通jobs,这是废话,相信看本篇文章的朋友目前应该还是这样在用),比如说program,指的是运行的程序(把要做什么单提出来了