知识大全 oracle各后台进程介绍

Posted

篇首语:登山则情满于山,观海则意溢于海。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 oracle各后台进程介绍相关的知识,希望对你有一定的参考价值。

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

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

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

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

  PADDR NAME DESCRIPTION

  

   EB F PMON process cleanup

   EC B VKTM Virtual Keeper of TiMe process

   EB F A GEN generic

   F DIAG diagnosibility process

   EC BB DBRM DataBase Resource Manager

   EB A VKRM Virtual sKeduler for Resource Manager

   F C PSP process spawner

   EB F A DIA diagnosibility process

   F A C MMAN Memory Manager

   EC C DBW db writer process

   EB F AA DBW db writer process

   EB FFE ARC Archival Process

   F C ARC Archival Process

   EC ARC Archival Process

   EB EA ARC Archival Process

   F B LGWR Redo etc

   EC CB CKPT checkpoint

   EB F B SMON System Monitor Process

   EB FCCA SMCO Space Manager Process

   F C C RECO distributed recovery

  PADDR NAME DESCRIPTION

  

   EB F CJQ Job Queue Coordinator

   F QMNC AQ Coordinator

   EC AD MMON Manageability Monitor Process

   EB FABA MMNL Manageability Monitor Process

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

  中心后台进程

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

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

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

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

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

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

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

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

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

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

   每隔 秒会自动刷新一次

   任何事务发出一个提交时

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

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

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

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

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

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

  可选后台进程:

  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 g r 中新增的特性 主要用来替代EXP/IMP

  其他后台进程

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

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

cha138/Article/program/Oracle/201311/19035

相关参考

知识大全 oracle性能调整—诊断latch竞争

  概念   Latch是简单的低层次的序列化技术用以保护SGA中的共享数据结构比如并发用户列表和buffercache里的blocks信息一个服务器进程或后台进程在开始

知识大全 Oracle死锁进程的关闭实操

Oracle死锁进程的关闭实操  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以下的文章主要介绍

知识大全 安卓手机里的捕鱼达人为什么在关掉之后在后台仍自动重启一个进程和一个服务,怎么都关不掉

安卓手机里的捕鱼达人为什么在关掉之后在后台仍自动重启一个进程和一个服务,怎么都关不掉那是软件自身的问题,要是你的手机已获得最高权限的话,就设置一下开机启动项!那个软件不是很好,有些手机还会搞不好后台自

知识大全 oracle的共享连接和专用连接方式之初探

在专用连接方式中每一个连接到数据库服务器的客户端请求服务器会和客户端之间建立起连接这个连接用于专门处理该客户端的所有请求直到用户主动断开连接或网络出现中断在连接处于空闲时后台进程PMON会每隔一段时间

知识大全 如何查询占CPU高的oracle进程

如何查询占CPU高的oracle进程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!oracle占用

知识大全 关闭Oracle死锁进程的具体步骤

关闭Oracle死锁进程的具体步骤  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有效关闭Ora

知识大全 如何察看Oracle进程消耗的内存

如何察看Oracle进程消耗的内存  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  经常有人问到如

知识大全 如何杀死oracle死锁进程

  willpower  方法一Oracle的死锁非常令人头疼总结了一些点滴经验作为学习笔记     1查哪个过程被锁查V$DB_OBJECT_CACHE视图:  SELECT *

知识大全 oracle杀死死锁进程

  先查看哪些表被锁住了  selectbownerbobject_nameasession_idalocked_mode  fromv$locked_objectadba_objectsb  whe

知识大全 安卓系统怎么才能让软件后台运行

安卓系统怎么才能让软件后台运行?可以使用Service运行,sevice就是在后台运行的进程。Android中,当Service被kill后,如果重启需要使用BroadcastReceiver来实现,