Oracle后台进程概述

本文介绍了Oracle数据库中的关键后台进程,包括SMON负责数据库初始化和清理,PMON监控并清理服务器进程,DBWn将缓冲区数据写入磁盘,LGWR负责日志写入,CKPT处理检查点,MMON和MMNL进行自动监控和调优,ARCn归档重做日志,RECO处理分布式事务,CJQ0和J000管理作业调度,以及其他如DBMR、DIAG等用于资源管理和诊断的进程。

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进程主要用来在集群环境中保证时间的同步;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值