一。Oracle11g 后台进程与10gR2的比较
我们知道,oracle数据库的后台进程一般以ora_开头来命名,下面就来看一下在Oracle11g中的后台进程都有哪些,以单节点的Oracle实例
为例:
[root@ractest ~]# ps -ef|grep ora_ |sort +7
root 11768 5567 0 05:30 pts/4 00:00:00 grep ora_
oracle 28069 1 0 Jul20 ? 00:00:03 ora_cjq0_orcl
oracle 28063 1 0 Jul20 ? 00:02:10 ora_ckpt_orcl
oracle 28049 1 0 Jul20 ? 00:00:00 ora_dbrm_orcl
oracle 28059 1 0 Jul20 ? 00:00:08 ora_dbw0_orcl
oracle 28055 1 0 Jul20 ? 00:00:06 ora_dia0_orcl
oracle 28047 1 0 Jul20 ? 00:00:02 ora_diag_orcl
oracle 28085 1 0 Jul20 ? 00:00:02 ora_fbar_orcl
oracle 28061 1 0 Jul20 ? 00:00:05 ora_lgwr_orcl
oracle 28057 1 0 Jul20 ? 00:00:00 ora_mman_orcl
oracle 28073 1 0 Jul20 ? 00:00:09 ora_mmnl_orcl
oracle 28071 1 0 Jul20 ? 00:00:06 ora_mmon_orcl
oracle 28043 1 0 Jul20 ? 00:00:08 ora_pmon_orcl
oracle 28051 1 0 Jul20 ? 00:00:00 ora_psp0_orcl
oracle 28108 1 0 Jul20 ? 00:00:00 ora_q000_orcl
oracle 28110 1 0 Jul20 ? 00:00:00 ora_q001_orcl
oracle 28089 1 0 Jul20 ? 00:00:00 ora_qmnc_orcl
oracle 28067 1 0 Jul20 ? 00:00:00 ora_reco_orcl
oracle 28087 1 0 Jul20 ? 00:00:00 ora_smco_orcl
oracle 28065 1 0 Jul20 ? 00:00:14 ora_smon_orcl
oracle 28045 1 0 Jul20 ? 00:00:00 ora_vktm_orcl
oracle 11559 1 0 04:52 ? 00:00:00 ora_w000_orcl
比较一下Oracle10gR2中的后台进程:
oracle@lxsfrac03 $ ps -ef |grep ora_ |grep -v grep |sort +7
oracle 26479 1 0 15:02:44 ? 0:00 ora_cjq0_racg1
oracle 26473 1 0 15:02:44 ? 0:00 ora_ckpt_racg1
oracle 26464 1 0 15:02:44 ? 0:00 ora_dbw0_racg1
oracle 26469 1 0 15:02:44 ? 0:00 ora_dbw1_racg1
oracle 26416 1 0 15:02:44 ? 0:00 ora_diag_racg1
oracle 26518 1 0 15:02:46 ? 0:00 ora_lck0_racg1
oracle 26471 1 0 15:02:44 ? 0:00 ora_lgwr_racg1
oracle 26422 1 0 15:02:44 ? 0:00 ora_lmd0_racg1
oracle 26420 1 0 15:02:44 ? 0:00 ora_lmon_racg1
oracle 26424 1 0 15:02:44 ? 0:00 ora_lms0_racg1
oracle 26428 1 0 15:02:44 ? 0:00 ora_lms1_racg1
oracle 26452 1 0 15:02:44 ? 0:00 ora_mman_racg1
oracle 26483 1 0 15:02:44 ? 0:00 ora_mmnl_racg1
oracle 26481 1 0 15:02:44 ? 0:00 ora_mmon_racg1
oracle 26414 1 0 15:02:44 ? 0:00 ora_pmon_racg1
oracle 26418 1 0 15:02:44 ? 0:00 ora_psp0_racg1
oracle 26477 1 0 15:02:44 ? 0:00 ora_reco_racg1
oracle 26475 1 0 15:02:44 ? 0:00 ora_smon_racg1
二。Oracle11g 新的后台进程的功能
新多的后台进程有:ora_dbrm_orcl,ora_dia0_orcl,ora_psp0_orcl,ora_smco_orcl,ora_vktm_orcl,ora_w000_orcl,
这些后台进程的功能分别如下:
DBRM:数据库资源管理进程, (The database resource manager process),负责设置资源计划和其他的资源管理的工作。
DIAG:数据库诊断进程, (The diagnosibility process) ,负责维护管理各种用于诊断的转储文件,并执行oradebug命令。
DIA0:另一个数据库诊断进程,负责检测Oracle数据库中的挂起(hang)和死锁的处理。
PSP0:process spawner,用于产生oracle进程
SMCO:space management coordinator,该进程负责空间管理协调管理工作,负责执行空间的分配和回收。
Wnnn;命名为W000,W001,W002.....,由smcO动态产生执行上述相关任务。
VKTM:virtual keeper of time,用于提供wall-clock time,(每秒钟更新一次)。提供每二十毫秒更新一次的reference-time counter,看起来有点类似计时器的功能。
三。Oracle11g 新引入的其他后台进程
再来认识一下Oracle11g中新引入的一些其他进程,因为一些特性在我的测试库中没有用到,比如asm,所以在ps -ef的结果中没有。
GMON:用于维护asm磁盘组的磁盘之间的关系。
KATE:当ASM的磁盘离线的时候,该进程负责asm的元文件的io读写。
MARK:如果有向asm离线磁盘的missed 写请求,该进程将ASM分配的单元的状态标记为stale
FBDA:涉及到flashback-data-archive新特性的一个进程,The flashback data archiver proces。用于将“轨表”(tracked tables)的历史数据进行归档。当“轨表”上的事务提交以后,fbda进程负责将数据的前镜像保存到flashback archive区域。该进程还负责flashback的数据归档的空间管理、分配、保留,跟踪tracked transactions。
什么是“轨表”(tracked tables): 是指启用了flashback archive特性的表。
RMSn:The Oracle RAC management processes,负责执行Oracle RAC的管理任务,比如RAC相关资源的创建和集群中新实例的添加。
DSKM:The slave diskmon process , 负责oracle 实例、asm实例和磁盘的管理进程之间的io fencing 信息的交换。如果使用SAGE的存储,该进程还负责SAGE存储的一些信息的管理。
四。复习一下Oracle 10gR2的后台进程
最后 再来复习一下Oracle 10gR2中的一些后台进程:
Queue Monitor Processes (QMNn) 是供 Oracle Streams Advanced Queuing使用的可选的进程,用于监控消息队列。这两类进程出错不会导致整个实例出错。
MMON :manageability monitor,与oracle10g的新特性--诊断功能相关,负责管理一些后台任务,比收集最近修改过的 SQL 对象的统计信息
MMNL :与oracle10g的新特性--诊断功能相关,会根据调度从SGA将统计结果--如会话的历史信息,刷新输出至数据库表。
MMAN :与oracle10g的新特性--诊断功能相关,负责执行一些数据库内部任务,自动设置SGA大小特性会使用这个进程。
RBAL :Rebalance。进程负责协调磁盘组间的负载平衡工作,在使用了ASM的数据库实例中运行。当向ASM磁盘组增加或删除磁盘时,RBAL进行负责处理重新平衡的请求。它可以使多个实例同时访问一个 ASM 磁盘(global open)。最终由 ORBn 进程实际执行数据扩展的负载均衡。 实例中可以运行多个 ORBn 进程,分别为 ORB0,ORB1,以此类推。
ASMB: 在使用asm磁盘组的时候负责与asm实例的通信,向ASM实例提供更新统计信息
阅读(400) | 评论(0) | 转发(0) |