SMON:the system monitor:主要用于初始化任务来加载和打开数据库,之后的任务就是清理数据库,例如合并数据文件中的空闲区域;
PMON:the process monitor:主要用于监控服务器端进程,并在这些进程发生问题的时候清理这些进程,并将PGA占用的内存返还给操作系统,回滚没有执行完的事务;
DBWn:the database writer:主要用于将data buffer中的数据写入到数据文件中,n最大可以取20,默认的是8个cpu对应一个n
共有4中情况会导致DBWn:
1、data buffer满
2、有太多的dirty数据
3、每3秒钟进行一次
4、触发一次检查点:检查点只有在数据库关闭或实例关闭的时候才是必须的;
手动触发检查点的语句是:alter system checkpoint;
检查点可以分为两种:full checkpoint 和 partial checkpoint
free buffer只的是没有脏数据或pinned buffer
LGWR: the log writer:主要作用是将log buffer中的数据写入到磁盘上的联机重做日志中;
共有3种情况会导致LGWR:
1、发生COMMIT:其实可以有方法来保证在commit的时候不发生LGWR;
2、log buffer 三分之一满
3、DBWn准备去写脏数据;
4、每3秒钟进行一次:这是因为DBWn会每3秒钟一次,而每次DBWn前一定会LGWR;
CKTP:the checkpoint process
full checkpoints
incremental checkpoint
MMON: the manageability monitor:是在oracle 10g中引进的,主要用于oracle的自动监控和自动调优;MMON定期(每1小时)从SGA中抓取一次统计信息(快照),通过计算后,将其写入数据字典中。ADDM(the Automatic Database DiagnosticMonitor)
MMON还监控数据库和实例,并判断是否需要生成警告;
MMNL:the Manageability Monitor Light:这个进程用来辅助MMON
MMAN, the Memory Manager:在oracle 10g中引入,用来自动管理内存分配;通过这个进程可以自动调整SGA和PGA中各个组件的大小;
ARCn,the Archiver:用来将联机重做日志文件中的数据转储到归档重做日志中;
RECO, the Recoverer Process:用来保证和回滚分布式事务中没有完成两段提交的事务;
分布式事务需要更新两个或更多的数据库,它们通过database links完成。分布式事务需要进行两段提交(two-phase commit):第一步LGWR将log buffer数据写入磁盘,第二步将事务标识为已提交;
CJQ0,J000:主要是用来控制Oracle中jobs调度;The job queue Coordinator(CJQ0)监控jobs队列并向众多Job queue porcess(Jnnn)发出jobs进行执行;
D000:这是一个分配器进程,用来在共享模式中想共享服务器进程(Snnn)发送SQL调用
DBMR:Oracle服务器资源管理进程,用来设置资源计划并执行和资源管理相关的任务
DIA0:这是一个诊断进程,用来检测数据库挂起和数据库死锁;
DIAG:这是一个诊断进程,执行诊断泵并调用oradebug命令;(oradebug是在实例中提供的诊断工具)
FBDA:the flashback data archiver process:用来将历史数据行归档到flashbackdada archives,用来保证flashbake query查找历史版本数据;
PSP0:The process spawner has the job ofcreating and managing other Oracle process ,and is undocumented;
QMNC、Q000:the QueueManager Coordinator(QMNC)监控队列并分配Qnnn 进程去入队和出队;
Streams就利用队列来出差事务去写远端的数据库;
SHAD:是在Linux系统上出现的,TNSV1-V3进程;
SMCO,W000:The Space Management Coordinator process(SMCO)用来调度Wnnn奴隶进程来执行各种和空间管理相关的任务
VKTM:The Virtual Keeper of Time进程主要用来在集群环境中保证时间的同步;
本文介绍了Oracle数据库中的关键后台进程,包括SMON负责数据库初始化和清理,PMON监控并清理服务器进程,DBWn将缓冲区数据写入磁盘,LGWR负责日志写入,CKPT处理检查点,MMON和MMNL进行自动监控和调优,ARCn归档重做日志,RECO处理分布式事务,CJQ0和J000管理作业调度,以及其他如DBMR、DIAG等用于资源管理和诊断的进程。
2275

被折叠的 条评论
为什么被折叠?



