进程结构

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 一、数据写入进程(DBWn) 数据写入进程是Oracle的一个后台进程,所谓后台进程是相对于前台进程(服务器进程)来讲的。DBWn的"n"意味着一个实例是可以有多个数据库写入器的。作用 简而言之,DBWn的作用就是将变脏了的缓冲区从数据库缓冲区缓存中写入到磁盘中的数据文件中去。


一、数据写入进程(DBWn)

数据写入进程是Oracle的一个后台进程,所谓后台进程是相对于前台进程(服务器进程)来讲的。DBWn的"n"意味着一个实例是可以有多个数据库写入器的。
作用
简而言之,DBWn的作用就是将变脏了的缓冲区从数据库缓冲区缓存中写入到磁盘中的数据文件中去。
会话的更新,插入,删除包括查询等都是先作用到缓冲区上,随后,DBWn会将其中的脏缓冲区转储到磁盘上去。 
以下四种情况DBWn会执行写入
1、没有任何可用缓冲区(不得不写啊)
2、脏缓冲区过多
3、3秒超时(最晚3秒会执行一次写入)
4、遇到检查点,即checkPoint(检查点),检查点是个Oracle事件,遇到检查点,DBWn会执行写入。比如实例有序关闭的时候会有检查点,DBWn会将所有脏缓冲区写入到磁盘上去的,这很容易理解,要保持数据文件的一致性。

二、日志写入进程(LGWR)

日志写入进程(LGWR)就是把日志缓冲区内的内容写入到磁盘的重做日志文件中去,相比数据库写入器(DBWn),日志写入器就勤快多了。
以下五种情况LGWR会执行写入
1、log buffer里写满1M了。
2、每三秒将日志缓冲区输出。
3、当日志缓冲区的1/3已满时将日志缓冲区输出。
4、当用户进程提交一事务时写入一个提交记录。
5、当DBWR将修改缓冲区写入磁盘时则将日志缓冲区输出。

三、SMON(System Monitor)

它的主要职责有如下:
1、实例恢复
2、每3秒整理区碎片
3、清理临时段

四、PMON(Process Monitor)

进程监视进程,主要监视服务器进程。
当碰到了进程异常,将做如下处理
1、释放该进程的buffer cache资源
2、进程相关的锁资源
3、其他资源,比如进程号等信息,v$process可以看到的一些信息
4、检查调度器和服务器进程,来实现调度器分配请求队列和响应队列
5、PMON还有一个任务,它可以实现服务注册

五、CKPT(Checkpoint Process)

检查点是一个维护数据库一致性的重要的后台进程
检查点是一个数据库事件,它将已修改的数据从脏缓存里刷新到磁盘,并更新控制文件和数据文件的一致性信息
手动设置检查点的语法
alter system checkpoint;

六、MMON(Manageability Monitor)

  数据库的自我监视和自我调整的支持进程。实例在运行中,会收集大量有关实例活动和性能的统计数据,这些数据会收集到SGA中,MMON定期从SGA中捕获这些统计数据,并将其写入到数据字典中,便于后续对这些快照进行分析。(默认情况,MMON每隔一个小时收集一次快照)

七、ARCn(Archiver)

归档进程,这个进程是可选的,如果数据库配置为归档模式,这个进程就是必须的。

八、RAC相关后台进程

1、锁监视器(Lock monitor,LMON)进程
2、锁管理器守护(Lock manager daemon,LMD)进程
3、锁管理器服务器(Lock manager server,LMSn)进程
4、可诊断性守护(Diagnosability daemon,DIAG)进程
5、锁(Lock,LCK0)进程
6、CRS相关的进程

九、ASM相关进程

ASM实例除了传统的DBWR,LGWR,CKPT,SMON,PMON等进程还包含如下后台进程:
1、自动存储管理后台(Automatic Storage Management Background,ASMB)进程: ASMB与ASM 实例的前台进程连接,周期性的检查两个instance的健康状况。每个数据库实例同时只能与一个ASM实例连接,因此数据库只会有一个ASMB后台进程。
2、重新平衡(Rebalance,RBAL)进程:负责协调磁盘组的重新平衡活动(负责磁盘组均衡)
3、CJQ0 和Jnnn 进程:作业队列
4、QMNC 和Qnnn:高级队列
5、EMNn:事件监视器进程(Event Monitor Process)
6、MMAN:内存管理器(Memory Manager)
7、ARB0-ARBn:在同一时刻可以存在许多此类进程,它们分别名为ARB0、ARB1,以此类推,执行实际的重新平衡分配单元移动进程。
8、GMON:用于ASM磁盘组监控
9、O0nn 01-10:这组进程建立到ASM实例的连接,某些长时间操作比如创建数据文件,RDBMS会通过这些进程向ASM发送信息。
目录
相关文章
|
Unix 程序员 Linux
进程-操作系统结构
进程-操作系统结构
44 0
|
Linux 定位技术 虚拟化
【OSTEP】多道程序和时分共享 | 虚拟地址空间 | 用户栈vs内核栈 | 进程结构: struct thread | 虚拟vs物理地址空间 | 地址转换方案
【OSTEP】多道程序和时分共享 | 虚拟地址空间 | 用户栈vs内核栈 | 进程结构: struct thread | 虚拟vs物理地址空间 | 地址转换方案
46 0
|
网络协议 JavaScript 安全
swoole进程结构
进程结构官方文档:https://wiki.swoole.com/#/learn?id=diff-process
swoole进程结构
|
存储 SQL 安全
2 PostgreSQL 物理,逻辑,进程结构以及系统表系统函数|学习笔记
快速学习2 PostgreSQL 物理,逻辑,进程结构以及系统表系统函数
2 PostgreSQL 物理,逻辑,进程结构以及系统表系统函数|学习笔记
|
Oracle 关系型数据库 数据库
|
存储 Oracle 关系型数据库
|
SQL 存储 监控
DBA_Oracle基本体系内存和进程结构(概念)
2014-08-05 Created By BaoXinjian 一、摘要 1. Oracle的内存结构 内存结构式Oracle数据库体系中最为重要的一部分,内存也是印象数据库性能的第一因素 分类 系统全局区SGA (System Global Area) 程序全局区PGA (...
1146 0
|
Linux 索引 Unix
与进程联系的文件系统相关结构
进程是通过文件描述符(file descriptor,fd)来访问文件的,每个进程最多能同时使用NR_OPEN个文件描述符,这个值在include/linux/limits.h中定义为1024。每一个进程用一个打开文件表files_struct来描述进程的文件描述符使用情况。
722 0
|
4月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能