---****oracle10g进程****---
PSP0:process spawner,用于产生oracle进程
mmon(manageability monitor)进程:
关于AWR主要的进程,收集AWR必须的统计数据,把统计数据写入磁盘。10G中保存在SYSAUX表空间中。
它会生产server-generated报警,每个小时把shared_pool中的统计信息写入磁盘,或者shared_pool占用超过5%。
mmnl(manageability monitor light)进程:
这是10g以后才有的一个进程,负责把收集到的统计信息从内存写入到awr repository中去的。
smon(system monitor)进程:
主要负责系统监视以及一些系统清理和恢复工作。
This process is responsible for instance recovery, if necessary, at instance startup.
SMON also cleans up temporary segments that are no longer in use.
It also coalesces contiguous free extents in dictionary managed tablespaces that have PCTINCREASE set to a non-zero value.
SMON wakes up about every 5 minutes to perform housekeeping activities. SMON must always be running for an instance.
pmon(process monitor)进程:
该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。
This process is responsible for performing recovery if a user process fails. It will rollback uncommitted transactions.
PMON is also responsible for cleaning up the database buffer cache and freeing resources that were allocated to a process.
PMON also registers information about the instance and dispatcher processes with network listener.
PMON wakes up every 3 seconds to perform housekeeping activities. PMON must always be running for an instance.
diag进程:它为后台诊断进程,用于获得实例中有关进程失败等的诊断信息(用于执行oradebug命令)。
DIA0:另一个数据库诊断进程,负责检测Oracle数据库中的挂起(hang)和死锁的处理。
mman(memory manager)进程:
自动内存管理进程。作用是每分钟都检查AWR性能信息,并根据这些信息决定SGA组件最佳分布。
通过STATISTICS_LEVEL设置统计级别;SGA_TARGET设置SGA总大小
CJQ0(job queue coordinator)进程:
数据库定时任务
Jnnn进程:
最多可以有1 000个作业队列进程:J000,J001,…,J999
Jnnn进程处理完一个作业后再处理下一个作业.每个作业队列进程一次只运行一个作业,直至完成.如果需同时运行多个作业,就需多个进程.
这里不存在多线程或作业的抢占,一旦运行一个作业,就会一直运行到完成(或失败),Jnnn进程退出.
ORACLE在开始时只会启动一个进程,即作业队列协调器(CJQ0),它在作业队列表中看到需要运行的作业时,才会启动Jnnn进程。
如果Jnnn进程完成其工作,并发现没有要处理的新作业,此时Jnnn进程就会退出.
JOB_QUEUE_PROCESSES参数的设置是用户可调的
RVWR(recover writer)进程:
为flashback database提供日志记录,把数据块的前镜像写入日志。
DBRM:数据库资源管理进程, (The database resource manager process),负责设置资源计划和其他的资源管理的工作。
VKTM:virtual keeper of time,用于提供wall-clock time,(每秒钟更新一次)。提供每二十毫秒更新一次的reference-time counter,看起来有点类似计时器的功能(适用于RAC)。
CTWR(change tracking writer)进程:
跟踪数据块的变化,把数据块地址记录到change_tracking file文件中
RMAN做增量恢复时通过这个文件来确定哪些数据库发生了变化,并进行备份。
共享服务器调度器(Dnnn)和共享服务器(Snnn)进程
CKPT进程:执行检查点,更新控制文件与数据文件,使其同步。触发DBWR进程,使其将脏缓存块写入数据文件
SMCO:space management coordinator,该进程负责空间管理协调管理工作,负责执行空间的分配和回收。
Wnnn;命名为W000,W001,W002.....,由smcO动态产生执行上述相关任务。
QMNC进程:监视高级队列,并警告从队列中删除等待消息的“出队进程”(dequeuer:使此消息变为可用)。
Qnnn进程:QMNC进程通知Qnnn进程需要完成什么工作,Qnnn进程则会去处理这些工作。
QMNC和Qnnn负责队列传播(propagation),也就是说,能够将在一个数据库中入队(增加)的消息移到另一个数据库的队列中,从而实现出队(dequeueing)。
QMNC和Qnnn进程是可选的后台进程。参数AQ_TM_PROCESSES 可以指定最多创建10个这样的进程(分别名为Q000,…,Q009),以及一个QMNC进程。
如果AQ_TM_PROCESSES设置为0,就没有QMNC或Qnnn进程。不同于作业队列所用的Jnnn进程,Qnnn进程是持久的。如果将 AQ_TM_PROCESSES设置为10,
数据库启动时可以看到10个Qnnn进程和一个QMNC进程,而且在实例的整个生存期中这些进程都存在。
---****oracle11g新进程****---
VKTM - The virtual keeper of time provides wall-clock time and reference time for other sessions/processes.
时间参照进程,为其他进程提供时间参照
FBAR - (sadly now renamed to FBDA partway through the beta) The flashback data archiver writes old row-versions of tables with 'flashback archive' enabled into flashback data archives on commit. Anyone remember Oracle v.5 BIFs?
flashback 数据存档进程,负责写提交的变化数据到归档文件。注意不是归档日志
DIAG - The diagnosibility process (DIAG) runs oradebug commands and triggers diagnostic dumps as part of the new ADR (automatic diagnostic repository) feature, which is a replacement (and major enhancement) for the much-reviled RDA.
诊断进程,使用oradebug命令和触发器来分析产生的dump文件,取代受到责骂的RDA
DIA0 - The "other" diagnosibility process detects hangs then triggers DIAG do take diagnostics.
辅助诊断进程,检测数据库挂起,触发diag进程
SMCO/Wnnn - The space management coordinator and slaves perform space allocation and reclamation.
空间管理进程,执行空间的分配和回收