oracle进程结构简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle进程结构简介相关的知识,希望对你有一定的参考价值。

我们经常说数据库实例,实例其实就是指的是数据库的内存结构和进程结构。我们安装数据库软件大量的是在安装其内存和进程组件结构。上篇节我们介绍了oracle内存结构,这节就介绍下oracle进程结构。

首先看下oracle进程的分类:

1)用户进程

是连接到Oracle DB 的应用程序或工具

2)数据库进程

服务器进程:连接到Oracle实例,在用户建立会话时启动

后台进程:在启动Oracle实例时启动

3) 守护程序/应用程序进程

网络监听程序

 Gridinfrastructure 守护程序

 

从进程角度一般可以把服务器模式分为两种:

 

专用服务器:对于每个会话,专用服务器进程提供服务;

共享服务器:不必为每个连接都提供一个专用服务器进程。分派程序会将多个传入网络会话请求定向到共享服务器进程池。共享服务器进程为所有客户机请求提供服务。

一般生产库中都是共享模式;

下来简要介绍下几个主要的进程:

技术分享

 

Oracle进程结构图(此图来源于oracle官方文档) 

 

非RAC、非ASM 环境中的常见后台进程包括:

• 数据库写进程(DBWn)

• 日志写进程(LGWR)

• 检查点进程(CKPT)

• 系统监视器进程(SMON)

• 进程监视器进程(PMON)

• 恢复器进程(RECO)

• 作业队列协调程序(CJQ0)

• 作业从属进程(Jnnn)

• 归档进程(ARCn)

• 队列监视器进程(QMNn)

说明:

DBWn 进程负责将数据库缓冲区高速缓存中经过修改的缓冲区(灰数据缓冲区)写入磁盘;DB_WRITER_PROCESSES 初始化参数指定了DBWn 进程的数量。DBWn 进程的最大数量为36。如果用户在启动过程中未指定该进程数,Oracle DB 将根据CPU 和处理器组的数量来决定如何设置DB_WRITER_PROCESSES

注意n代表可以有多个此类进程,但是如果是单处理器服务器,则配置n是没用的。

 

在以下情况下,DBWn 进程将灰数据缓冲区写入磁盘:

服务器进程找不到干净的可重用缓冲区时;推进检查点需要;

 

日志写进程(LGWR) 负责管理重做日志缓冲区,即将重做日志缓冲区条目写入磁盘上的重做日志文件;大型系统的数据块操作频率特别高,势必有大量的日志写入日志缓冲区,oracle必须保障时刻都有足够的空间写新的重做日志,因此日志写进程触发的频率是非常高的,在以下情况都会触发该进程工作:

用户进程提交事务处理时,比如commit命令后;

重做日志缓冲区的三分之一已满时;

DBWn 进程将经过修改的缓冲区写入磁盘之前;

每隔3秒;

 

检查点进程(CKPT)

“检查点”是一种数据结构,它定义了数据库的重做线程中的系统更改号(SCN)。检查点记录在控制文件和每个数据文件头中。它们是恢复操作的关键元素,遇到检查点时,Oracle DB 必须更新所有数据文件的头,以记录该检查点的详细信息。

这是由CKPT 进程完成的。SCN 机制很巧妙的保障了oracle数据恢复机制。这里只是简要提到,有兴趣的朋友可以找找相关技术资料,理解SCN的原理,对数据库的备份还原恢复都有相当的理论帮助。

 

系统监视器进程(SMON)

 在实例启动时执行恢复;

 清除不使用的临时段;

进程监视器进程(PMON)

在用户进程失败时执行进程恢复。负责清除数据库缓冲区高速缓存和释放该用户进程占用的资源;PMON 定期检查分派程序和服务器进程的状态,并重新启动任何已停止运行的分派程序和服务器进程。它是数据库的进程管家。

 

恢复器进程(RECO)

 是一个用于分布式数据库配置的后台进程,它可以自动解决涉及分布式事务处理的故障。

归档进程(ARCn)

发生日志切换之后,归档进程(ARCn) 会将重做日志文件复制到指定的存储设备。仅当数据库处于ARCHIVELOG 模式且已启用自动归档时,才会存在ARCn 进程。数据库日志一般都会很大,同时数据库日志是特别重要的,只要有完整的日志我们就能恢复丢失了的数据,所以日志的丢失是一种极大的风险,我们需要把它定期迁移到异地存储上(磁带,磁盘等介质),这个过程叫做日志归档,需要归档进程来完成。注意ARCHIVELOG模式的启用,这个我们在后边数据库备份还原部分会再细讲;

 

 

Oracle进程体系就介绍到此,下一篇节我们介绍下oracle存储体系结构。欢迎关注【取知有道】,你的关注是我们坚持的原动力!

-------------------------------END-----------------------------------

 

【取知有道】这里欢迎爱好学习的朋友,着重数据库等IT知识的分享学习。

请敬关注【取知有道】订阅号。微信搜索公众号【取知有道】,添加关注!

或长按此二维码添加关注!技术分享
?

近期分享:

Oracle基础体系结构方面,涉及实例内存结构、进程结构、物理存储结构、逻辑存储体系等基础理论。

 

 

以上是关于oracle进程结构简介的主要内容,如果未能解决你的问题,请参考以下文章

Oracle期末复习资料,不用再担心考试啦!

Oracle期末复习资料,不用再担心考试啦!

Oracle期末复习资料,不用再担心考试啦!

oracle数据库的软性体系结构

oracle 11g 的体系结构

Oracle体系结构之进程