Oracle的体系结构(3)--进程结构

  **一,Oracle几个基本的后台进程**
  我们可以在Oracle查看V$process视图来查看所有进程。
  命令:select pid,program,background from v$process;


下面重点介绍几个进程。
1,DBWn进程
功能:将脏数据写进磁盘的数据库文件中。默认只有一个写进程DBW0。原则上写进程的个数不查过CPU的核数。
触发条件:

  1)每隔3秒钟启动一次DBWn
  2)发生CKPT检查点进程(包括增量检查点和完全检查点)
  3)脏数据达到阀值:达到buffer内存的10%即要将脏数据写到磁盘; 这就是造成为什么没有提交的脏数据会写到磁盘; 并且这样也不会影响读数据,因为在修改一个数据块时,在buffer cache中会生成一个与原始数据一致的镜像数据,以供其他会话访问,和做rollback时使用。
  4)当进程在LRU链表上查找可以用得buffer header时,扫描到一定限度,会触发DBWn。
  5)删除表、截断表:drop table、trucat table; 
  暂时只知道这么多,以后有别的再补上

2,LGWR进程
功能:写日志条目,从 redo log buffer 到 redo logfile (必须在 dbwr 写脏块之前写入日志)
触发条件:

  1) 用户提交
  2) 有1/3重做日志缓冲区未被写入磁盘
  3) 有大于1M的重做日志缓冲区未被写入磁盘
  4) 3秒超时
  5) DBWR 需要写入的数据的SCN大于LGWR记录的SCN,DBWR 触发LGWR写入。

3,CKPT进程

  功能:内存中有检查点队列,里面是脏数据。达到一定条件时触发进程,配合dbwr写入。
  触发条件:

 完全检查点:
   1)正常关机。
   2)切换日志组
   3)铜鼓命令手动触发:alter system checkpoint
   4)每隔三秒
   5)日志量达到1/3

4,smon进程
smon是系统的监视进程,是Oracle最核心的进程。
5,pmon进程
进程监视器,当系统出现错误时,负责清理现场。

posted @ 2020-10-26 14:19  冬雪abc  阅读(102)  评论(0)    收藏  举报