Oracle 后台进程(二)DBWR进程
一、DBWR进程介绍
DBWR进程执行将数据块缓冲区写入数据文件的工作,是负责缓冲存储管理的一个Oracle后台进程。在修改DB Cache中的某个缓冲区时,会将它标志为“DIRTY”,DBWR的主要任务将这些标为“DIRTY”的缓冲区写入磁盘,使缓冲区保持“CLEAN”。
由于缓冲区填入数据库或被用户进程弄脏,未用的缓冲区数目会减少,最终可能导致用户进程从磁盘读入块到内存存储区时无法找到未用的缓冲区。DBWR将管理缓冲存储区,使用户进程总能得到未使用的缓冲区。
二、缓冲物刷盘算发
Oracle采用LRU算发(最近最少使用)保持内存中的数据块时最近使用的,使I/O最小。
下面情况预示DBWR要将弄脏的缓冲区写入磁盘
1、当服务进程将缓冲区移入“DRITY”链,此“DRITY”链达到临界长度,该服务进程通知DBWR进行写入操作。这个临界长度是数据库隐含参数_DB_BLOCK_WRITE_BATCH的一半
2、服务进程在LRU表中查找可用的数据块缓冲时,查找了参数_DB_BLOCK_MAX_SACN_CNT所定义数量的缓冲区后,仍然没有查到,那么它将停止查找,并通知DBWR进行数据写入。
3、如果DBWR在3秒内未活动,则出现超时。在这种情况下,DBWR对LRU表查找指定数目的缓冲区,将所找到的任何脏的缓冲区写入磁盘。查找的缓冲区为_DB_BLOCK_WRITE_BATCH的两倍。
4、再出现检查点时,LGWR指定一修改缓冲区表必须写入到磁盘,而DBWR负责将制定的缓冲区写入磁盘。
三、DBWR设置
初始化参数db_writer_processe决定了启动多少个DBWn进程。
在多CPU,那么一个实例可以设置多个DBWR。这样的实例中,DB Cache被分为多个区,每个DBWR管理一个或者几个DB Cache分区。
这样的结构可以让一些数据块写入一个磁盘,另一些数据块写入其他磁盘,从而提升并发写入的性能。
Oracle 后台进程(二)DBWR进程的更多相关文章
- Oracle 后台进程(四)CKPT进程
		
一.CKPT简介 检查点是一个数据库事件,它把修改数据从高速缓存写入磁盘,并更新控制文件和数据文件.检查点分为三类:1)局部检查点:单个实例执行数据库所有数据文件的一个检查点操作,属于此实例的全部脏缓 ...
 - 【Oracle】-【体系结构】-【DBWR】-DBWR进程相关理解
		
对DBWR的一些理解 首先从名称上,DBWR全称是Database Writer Process,属于Oracle后台进程的一种,有的地方也叫DBWn,我想这里是出于DBWR进程个数的原因,DBWR进 ...
 - oracle后台进程详解
		
oracle后台进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员.他们并不会直接给用户提供服务. 一:database write--数据写入 DBW ...
 - oracle后台进程2
		
oracle中的进程共分为三类:用户进程.服务进程.后台进程.其中后台进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员.他们并不会直接给用户提供服务. 一: ...
 - Oracle 后台进程 详细说明
		
一. 进程概述 先来看一下Oracle 11g 的架构图. 看起来比较模糊,我已经上传到了csdn 的下载. 是个pdf 文件, 2m 多. 那个看起来比较清楚. 也对每个进程做了解释. 下载地址:O ...
 - 【ora10,4】oracle后台进程介绍:
		
一.SMON(System MONitor) 系统监控进程: 在数据库启动过程中,SMON排在CKPT进程之后,在Oracle9i中排在第六号的位置: PMON started with p ...
 - Oracle 后台进程介绍
		
一 进程分类: 1.服务器进程(server process): 依据客户请求完毕工作.如接收和处理应用发送的SQL语句 2.后台进程(background process): 随数据库而启动,用于完 ...
 - Oracle后台进程
		
后台进程简介 启动例程时,Oracle不仅会分配SGA,还会启动后台进程:关闭例程时,Oracle不仅会释放SGA所占用的内存空间,而且还会释放后台进程所占用的Cpu和内存资源.Oracle提供了很多 ...
 - Oracle GoldenGate 二、配置和使用
		
Oracle GoldenGate 二.配置和使用 配置和使用GoldenGate的步骤 1 在源端和目标端配置数据库支持GoldenGate 2 在源端和目标端创建和配置GoldenGate实例 3 ...
 
随机推荐
- CSS之cursor用法
			
cursor: url('~ROOT/shared/assets/image/vn-text-cursor-31-49.png') 22 22, nw-resize; 另外还有一个 cursor: g ...
 - 使用vue-cli创建vue工程
			
在Windows环境下,打开命令行窗口,跳转至想创建工程的路径. 如:D:\MyWork\22_Github\rexel-cn\rexel-jarvis 创建vue工程,命令:vue create r ...
 - (二)第一个mybatis项目
			
1. 引包 本例中使用maven构造项目,所以只需配置依赖即可引相应的包. pom.xml <project xmlns="http://maven.apache.org/POM/4. ...
 - ThinkPad T420i 上 Ubuntu 12.04 实现指纹识别登录
			
ThinkPad T420i 上 Ubuntu 12.04 实现指纹识别登录 # add ppa add-apt-repository ppa:fingerprint/fprint # update ...
 - 关于H5的一些相关基础知识
			
HTML只是简写全写是(Hyper Text Markup Language)表示的是:超文本标记语言; HTML5表示的是html的第5次重大修改的第5个版本,(而html5是W3C和WHATWG ...
 - keras 切换后端 TensorFlow,cntk,theano
			
参考 https://keras.io/#configuring-your-keras-backend https://keras.io/backend/ Switching from one bac ...
 - FPGA学习笔记——点亮LED
			
软件平台:win7(64bit) + Quartus II 9.1 (64-Bit) 硬件平台:东理电子Easy-FPGA Cyclone II EP2C5T114C8N 这个开发板买了很长时间了,买 ...
 - 05.网站点击流数据分析项目_模块开发_ETL
			
项目的数据分析过程在hadoop集群上实现,主要应用hive数据仓库工具,因此,采集并经过预处理后的数据,需 要加载到hive数据仓库中,以进行后续的挖掘分析. ETL:用来描述将数据从来源端经过抽取 ...
 - Java 中的多态,一次讲个够之继承关系中的多态
			
多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描述一个 ...
 - Java数组复制、遍历、反转
			
/* 1.数组长度,直接length 即可! 2.min()/max(),需要调用库! 3.数组的复制 ,遍历复制,或者直接命名相等 即可! 4.数组反转时,直接折中即可!对调两重循环麻烦! */ i ...