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基础体系结构方面,涉及实例内存结构、进程结构、物理存储结构、逻辑存储体系等基础理论。

 

时间: 2024-10-20 06:41:16

oracle进程结构简介的相关文章

ORACLE内存结构简介

ORACLE数据库作为世界上一款功能强大的数据库管理软件,功能体系特别庞大.我们有必要对它的每一部分学习了解,然后才从全局的角度进行有效把握.我们会着重从理论基础体系角度再逐步到实战应用.实际上,如果没有掌握基础理论体系,而直接生搬硬套一些维护技术经验,那也只是空中楼阁罢了.而如果你想直接通过一两篇文章学到什么秘籍成为维护或是DB优化高手那也是不现实的.所以这些文适合静下心来真正想了解学习ORALCE体系的读者.方法论掌握好,起码头脑中的思路方向是正确的,至于术也就是水到渠成. 我们通常所说的O

Oracle 进程结构

Oracle进程结构 进程是动态创建的,完成任务后就消亡:而程序是静态的实体,程序是可以复制.编辑的.进程强调的是执行过程,而程序仅仅是指令的有序集合:进程在内存中,程序在外存中. ORACLE分为用户进程和ORACLE进程. l 用户进程 当用户执行一个基于ORACLE数据库的应用程序时,客户端就会创建一个ORACLE的用户进程(如运行的sqlplus.OEM都叫用户进程). 用户进程通过连接登录到ORACLE服务器,ORACLE服务器上就产生一个对应的服务器进程(Oracle服务器的"外交部

DBA_Oracle基本体系内存和进程结构(概念)

2014-08-05 BaoXinjian 一.摘要 1. Oracle的内存结构 内存结构式Oracle数据库体系中最为重要的一部分,内存也是印象数据库性能的第一因素 分类 系统全局区SGA (System Global Area) 程序全局区PGA (Program Gobal Area) 用户全局区UGA (User Global Area) 2. Oracle进程结构 3. Oracle易混淆概念 实例和数据 用户和模式 用户和角色 数据字典和表 二.内存结构 1. 系统全局区SGA (

Oracle内存结构(之三)

[深入解析--eygle] 学习笔记 1.2.3 PGA的管理: [email protected] SQL>show parameter area_size NAME TYPE VALUE ------------------------------------ ---------------------------------------------------- bitmap_merge_area_size integer 1048576 create_bitmap_area_size i

DBA_Oracle基本体系架构(概念)(每个Oracle开发员和维护员都必须熟知的一些关于Oracle底层结构的概念)

2014-07-26 BaoXinjian 一. Oracle体系结构基本概念 1. Oracle总体结构分为三个部分 第一部分:系统全局区(SGA) 第二部分:程序全局区和后台进程 第三部分:Oracle的文件 2. 从功能角度接那些划分 存储结构 包括: 控制文件.数据文件和日志文件 作用: 由这些文件就构成了Oracle的物理存储结构. 内存结构 包括: 系统全局区(SGA) 和 程序全局区(PGA) 作用: 使用内存最多的是SGA,也是影响数据库系统性能最大的一个参数. 进程结构 包括:

[精]Oracle 内存结构详解

内存结构 现代计算机中,CPU 对内存的访问速度要比从磁盘的速度快千倍,因此 Oracle 对于数据的访问 也尽量都在内存中完成,而不是直接修改硬盘上的数据.内存内容在合适的时候再同步到磁盘. Oracle 利用内存来克服磁盘 IO的束缚,在内存中进行活动越多,系统性能越好,反之,在磁盘上进 行的操作越多,系统性能越差.(原文地址:http://blog.sunansheng.com/2016/04/29/oracle-memory/) Oracle 是一个内存消耗大户,它消耗的内存可以分成两部

oracle 内存结构详解

Oracle 内存结构 与 Oracle 实例关联的基本内存结构包括: 系统全局区 (SGA):由所有服务器和后台进程共享.SGA 中存储的数据示例包括高速缓存的数据块和共享 SQL 区域. 程序全局区 (PGA):各个服务器进程和后台进程专用,每个进程都有一个 PGA. SGA 是共享内存区,包含实例的数据和控制信息,由以下各项组成: 数据库缓冲区高速缓存:用于缓存从磁盘检索到的数据块 重做日志缓冲区:用于缓存重做信息,直到其可以写入磁盘为止 共享池:用于缓存可在用户间共享的各种结构 大型池:

oracle内存结构(一)

Oracle 内存结构 与Oracle 实例关联的基本内存结构包括: 系统全局区(SGA):由所有服务器进程和后台进程共享 程序全局区(PGA):由每个服务器和后台进程专用,每个进程都有一个PGA. 系统全局区(SGA) 是共享内存区,包含实例的数据和控制信息,由以下各项组成: 数据库缓冲区高速缓存(DB buffer cache):用于缓存从磁盘检索到的数据块 重做日志缓冲区(redo buffer):用于缓存重做信息,直到其可以写入磁盘为止 共享池(share pool):用于缓存可在用户间

Oracle 工艺结构

Oracle工艺结构 这个过程是动态创建,完毕任务后就消亡:而程序是静态的实体,程序是能够复制.编辑的.进程强调的是运行过程,而程序不过指令的有序集合:进程在内存中,程序在外存中. ORACLE分为用户进程和ORACLE进程. l 用户进程 当用户执行一个基于ORACLE数据库的应用程序时,client就会创建一个ORACLE的用户进程(如执行的sqlplus.OEM都叫用户进程). 用户进程通过连接登录到ORACLEserver,ORACLEserver上就产生一个相应的server进程(Or