ITPUB论坛-专业的IT技术社区

标题: Oracle 后台进程 详细 [打印本页]

作者: serapy    时间: 2011-3-26 10:18
标题: Oracle 后台进程 详细
Oracle实例:
      Oracle实例包括一组后台进程以及这些进程所共享的内存,这些后台进程及其共享内存合起来就构成了Oracle实例.
Oracle数据库服务器:
       Oracle实例和数据库合起来又构成了Oracle数据库服务器.
后台进程
1. DBWR 数据库写入进程
          DBWR The Database Writer Process 进程负责将脏数据块从数据缓存(database block buffer)写回磁盘.当一个事务修改数据
块中的数据以后,不需要立即将数据块写回磁盘。由于Oracle所采用的先进机制,修改后的数据可以不用立即写回,并且及时出现故障
也不会丢失。因此,DBWR可以采取更有效写回方式,而不用再事务提交完之后立即写回。DBWR通常定时写回数据,除非数据缓冲区
需要清空或已满。
        数据写回时,采用了最近最少使用原则(least-recently-used).对于支持异步I/O的系统,只需使用一个BWR进程即可,对不支持
异步IO的可以通过增加DBWR的个数来提升效率。
2. LGWR  日志写入进程
          LGWR (the log writer process)负责将日志缓冲区中的数据写入重做日志。由于COMMIT操作依赖于LGWR写回日志(commit操
作触发LGWR将日志缓冲区数据写入UNDO日志),因此系统性能容易受到LGWR的影响。
3. PMON 进程监视进程
         PMON(the Process Monitor Process)进程负责监视数据库的处理情况,并负责清除死掉的进程。PMON还负责重启失败的调度进
程(dispatcher process)
4. SMON 系统监视进程
        SMON(the System Monitor Process)进程负责在实例启动时恢复实例,包括清除临时段以及恢复因系统崩溃而中断的事物。
SMON还可以通过合并空闲分区的方式清除数据库中的碎片
5.CKPT 检查点进程
       CKPT(the Checkpoint Process)进程负责向DBWR进程发送信号,要求执行一次检查点,并更新数据库的所有数据和控制文件。
CheckPoint(检查点),是指有DBWR进程将所有修改过的数据缓冲区写回数据文件。CKPT是可选的,如果没有CKPT进程,则有LGWR代
行这些任务。
6. ARCHn 归档进程
      ARCH(the Archiver Process )负责将再现重做日志复制到归档存储器。进档RDBMS运行在ARCHIVELOG模式时ARCH才有效,如果
系统没有运行在ARCHIVELOG模式,则系统失效后可能无法恢复。最后让系统运行在ARCHIVELOG模式下,此时归档进程可能有多个。
      SQL>archive log list          //查看是否为归档模式
      可以再数据库Mount 模式下开启归档
      SQL>alter database archivelog; //开启
      SQL>alter database noarchivelog;//关闭
7. RECO 恢复进程
      RECO (the Recovery Process)进程用于清除分布式数据库中的未决(pending)事务,它负责分布式事务中本地部分的提交与回滚
8. Dnnn 调度进程
      如果选择了Multithreaded Server选项,则对使用的每个通信协议至少有一个调度进程。调度进程(the Dispatcher Process,Dnnn)
负责将用户进程的请求转发到一个可用的共享服务器进程,并负责将用户进程的请求转发到一个可用的共享服务器进程,并负责回送响应
消息。
9. Snnn 共享服务器进程
     当使用共享服务器配置或MTS时,会用到共享服务器进程(the Shared Servers Process ,Snnn).这些进程如同专用服务器进程
(Dedicated Server Process),但可以被多个用户
共享。
10. LMS Oracle RAC 锁管理服务
      使用RAC时,该服务用语管理集群中不同节点间的锁.
11. QMNn  队列管理进程
      使用高级队列选项时(advanced queueing option),队列管理进程 (Queue Manager Process )用于管理作业队列,队列数目可以
达到10个,QMN0——QMN9
     I am Serapy !  转载请注明:Serapy  http://space.itpub.net/14766028/spacelist-blog
作者: hotwish    时间: 2011-3-26 11:13
顶一下
作者: T-Blue    时间: 2011-3-26 20:21
学习!
作者: 伊斯力    时间: 2011-3-26 20:49
貌似我还看到过下列进程

DIAG
J000
Q000

[ 本帖最后由 伊斯力 于 2011-3-27 12:43 编辑 ]
作者: flg_inwind    时间: 2011-3-31 11:12
UP
作者: bewdx3    时间: 2011-3-31 11:16
QMNC/Qnnn,高级队列,对应参数aq_tm_processes
CJQ0/Jnnn,作业队列,对应参数job_queue_processes
DIAG这是11g前RAC下有,11g后都有了好象,因为ADR也要用.监视整个实例的状态信息
作者: qinwen740    时间: 2012-6-14 09:42
给楼主顶一下
作者: yangb71881    时间: 2012-6-14 09:58
LGWR  LGWR(Log Writer)   将日志缓冲区中的所有记录项写到日志文件中。该进程在启动实例时自动启动。   LGWR进行写操作的情况:   1.用户进程提交一个事务(Commit)   2.日志缓冲区达到1/3范围,或者包含了1MB的缓存重做日志数据   3.要求LGWR切换日志文件   4.出现超时(3秒钟内未活动,则进行一次写操作。)
作者: kswzfc0000469    时间: 2012-6-14 13:52
lsd,你還少了一個條件:當data buffer寫入的時候,會強制相關redo buffer寫入
作者: xjj571249    时间: 2012-6-14 14:09
不错!!!
作者: 夏云静涌    时间: 2012-6-28 14:32
似懂非懂,学习中!!!
作者: chencheng523523    时间: 2012-11-1 16:26

作者: qiangziabc    时间: 2013-6-4 11:02
没有系统的学过。基础知识就是不牢靠!!!!




欢迎光临 ITPUB论坛-专业的IT技术社区 (http://www.itpub.net/) Powered by Discuz! X3.2