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进程
进程监视器,当系统出现错误时,负责清理现场。

浙公网安备 33010602011771号