oracle中的几个重要进程

Oracle数据库从入门到精通系列之十八:Oracle进程 阅读详情
何时触发lgwr,dbwr,chpk等进程     
Log Writer (LGWR)   
LGWR performs sequential writes from the Redo Log Buffer to the online redo log file under the followingsituations:   
     1.When a transaction commits   
     2.When the Redo Log Buffer is one-third full  
     3.When there is more than 1 MB of changes recorded in the Redo Log Buffer   
     4.Before DBWn writes modified blocks in the Database Buffer Cache to the data files   
     5.Every three seconds   
    
.Because the redo is needed for recovery, LGWR confirms the commit operation only after the redo is written todisk.   
LGWR can also call on DBWn to write to the data files.   
  
  
Database Writer (DBWn)   
The server process records changes to undo and data blocks in the Database Buffer Cache. DBWn writes thedirty buffers from the Database Buffer Cache to the data files. It ensures that a sufficient number of free buffers(buffers that can be overwritten when server processes need to read in blocks from the data files) are availablein the Database Buffer Cache. Database performance is improved because server processes make changes onlyin the Database Buffer Cache.   
DBWn defers writing to the data files until one of the following events occurs:   
     Incremental or normal checkpoint  
     The number of dirty buffers reaches a threshold value   
     A process scans a specified number of blocks when scanning for free buffers and cannot find any  
     Timeout occurs   
     A ping request in Real Application Clusters (RAC) environment   
     Placing a normal or temporary tablespace offline   
     Placing a tablespace in read-only mode   
     Dropping or truncating a table  
     ALTER TABLESPACEtablespace nameBEGIN BACKUP   
  
1. 当Buffer Cache中的Dirty List长度达到阀值:   
DBWR将Dirty List中的Dirty Buffer写入磁盘(user Server Process在LRU List中查找free buffer时将碰到的dirty blocks移入Dirty List)   
  
2. 当user Server Process在Buffer Cache的LRU List中搜索了过长的时间而仍然没有找到free buffer:   
DBWR直接从LRU List中将Dirty Buffer写入磁盘   
  
3. 每过3秒钟:   
DBWR把dirty buffers从LRU List移到Dirty List,一旦Dirty List长度达到阀值,DBWR便将数据写入磁盘   
  
4. Checkpoint发生时:   
DBWR把所有的dirty buffers从LRU List移到Dirty List,并且开始写数据   
  
5. 当Tablespace开始Hot backup时:   
DBWR把所有属于该表空间的dirty buffers从LRU List移到Dirty List,并且开始写数据   
  
6. 当Tablespace offline时:   
DBWR把所有属于该表空间的dirty buffers从LRU List移到Dirty List,并且开始写数据   
  
7. 执行Drop时:   
drop table或者index将促使DBWR先将属于该segment的dirty blocks写入磁盘   
  
  
checkpoint
 
checkpoint是一个数据库事件,它将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件。   
我们知道了checkpoint会刷新脏数据,但什么时候会发生checkpoint呢?以下几种情况会触发checkpoint。   
  
1.当发生日志组切换的时候   
2.当符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target参数设置的时候   
3.当运行ALTER SYSTEM SWITCH LOGFILE的时候   
4.当运行ALTER SYSTEM CHECKPOINT的时候   
5.当运行alter tablespace XXX begin backup,end backup的时候   
6.当运行alter tablespace ,datafile offline的时候;  
何时触发lgwr,dbwr,chpk等进程  
Log Writer (LGWR)
LGWR performs sequential writes from the Redo Log Buffer to the online redo log file under the followingsituations:
     1.When a transaction commits
     2.When the Redo Log Buffer is one-third full
     3.When there is more than 1 MB of changes recorded in the Redo Log Buffer
     4.Before DBWn writes modified blocks in the Database Buffer Cache to the data files
     5.Every three seconds

.Because the redo is needed for recovery, LGWR confirms the commit operation only after the redo is written todisk.
LGWR can also call on DBWn to write to the data files.

Database Writer (DBWn)
The server process records changes to undo and data blocks in the Database Buffer Cache. DBWn writes thedirty buffers from the Database Buffer Cache to the data files. It ensures that a sufficient number of free buffers(buffers that can be overwritten when server processes need to read in blocks from the data files) are availablein the Database Buffer Cache. Database performance is improved because server processes make changes onlyin the Database Buffer Cache.
DBWn defers writing to the data files until one of the following events occurs:
     Incremental or normal checkpoint
     The number of dirty buffers reaches a threshold value
     A process scans a specified number of blocks when scanning for free buffers and cannot find any
     Timeout occurs
     A ping request in Real Application Clusters (RAC) environment
     Placing a normal or temporary tablespace offline
     Placing a tablespace in read-only mode
     Dropping or truncating a table
     ALTER TABLESPACEtablespace nameBEGIN BACKUP
1. 当Buffer Cache中的Dirty List长度达到阀值:
DBWR将Dirty List中的Dirty Buffer写入磁盘(user Server Process在LRU List中查找free buffer时将碰到的dirty blocks移入Dirty List)
2. 当user Server Process在Buffer Cache的LRU List中搜索了过长的时间而仍然没有找到free buffer:
DBWR直接从LRU List中将Dirty Buffer写入磁盘
3. 每过3秒钟:
DBWR把dirty buffers从LRU List移到Dirty List,一旦Dirty List长度达到阀值,DBWR便将数据写入磁盘
4. Checkpoint发生时:
DBWR把所有的dirty buffers从LRU List移到Dirty List,并且开始写数据
5. 当Tablespace开始Hot backup时:
DBWR把所有属于该表空间的dirty buffers从LRU List移到Dirty List,并且开始写数据
6. 当Tablespace offline时:
DBWR把所有属于该表空间的dirty buffers从LRU List移到Dirty List,并且开始写数据
7. 执行Drop时:
drop table或者index将促使DBWR先将属于该segment的dirty blocks写入磁盘

checkpoint是一个数据库事件,它将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件。
我们知道了checkpoint会刷新脏数据,但什么时候会发生checkpoint呢?以下几种情况会触发checkpoint。
1.当发生日志组切换的时候
2.当符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target参数设置的时候
3.当运行ALTER SYSTEM SWITCH LOGFILE的时候
4.当运行ALTER SYSTEM CHECKPOINT的时候
5.当运行alter tablespace XXX begin backup,end backup的时候
6.当运行alter tablespace ,datafile offline的时候;



PMON进程:
       该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障的进程的ID从活动进程表中移去。PMON还周期地检查调度进程(DISPATCHER)和服务器进程的状态,如果已死,则重新启动(不包括有意删除的进程)。 
PMON有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。 

SMON进程:
        该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。在具有并行服务器选项的环境下,SMON对有故障CPU或实例进行实例恢复。SMON进程有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。 

DBWR进程:
        该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个ORACLE后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用的缓冲区时,DBWR将管理缓冲存储区,使用户进程总可得到未用的缓冲区。 ORACLE采用LRU(LEAST RECENTLY USED)算法(最近最少使用算法)保持内存中的数据块是最近使用的,使I/O最小。在下列情况预示DBWR 要将弄脏的缓冲区写入磁盘: 
1、当一个服务器进程将一缓冲区移入“弄脏”表,该弄脏表达到临界长度时,该服务进程将通知DBWR进行写。该临界长度是为参数DB-BLOCK-WRITE-BATCH的值的一半。 
2、 当一个服务器进程在LRU表中查找DB-BLOCK-MAX-SCAN-CNT缓冲区时,没有查到未用的缓冲区,它停止查找并通知DBWR进行写。 
3、出现超时(每次3秒),DBWR 将通知本身。 
4、 当出现检查点时,LGWR将通知DBWR 在前两种情况下,DBWR将弄脏表中的块写入磁盘,每次可写的块数由初始化参数DB-BLOCK-WRITE-BATCH所指定。如果弄脏表中没有该参数指定块数的缓冲区,DBWR从LUR表中查找另外一个弄脏缓冲区。 如果DBWR在三秒内未活动,则出现超时。在这种情况下DBWR对LRU表查找指定数目的缓冲区,将所找到任何弄脏缓冲区写入磁盘。每当出现超时,DBWR查找一个新的缓冲区组。每次由DBWR查找的缓冲区的数目是为寝化参数DB-BLOCK-WRITE-BATCH的值的二倍。如果数据库空运转,DBWR最终将全部缓冲区存储区写入磁盘。 在出现检查点时,LGWR指定一修改缓冲区表必须写入到磁盘。DBWR将指定的缓冲区写入磁盘。 在有些平台上,一个实例可有多个DBWR。在这样的实例中,一些块可写入一磁盘,另一些块可写入其它磁盘。参数DB-WRITERS控制DBWR进程个数。 

LGWR进程:
           该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志缓冲区的一个ORACLE后台进程。LGWR进程将自上次写入磁盘以来的全部日志项输出,LGWR输出: 
1、 当用户进程提交一事务时写入一个提交记录。 
2、每三秒将日志缓冲区输出。 
3、 当日志缓冲区的1/3已满时将日志缓冲区输出。 
4、当DBWR将修改缓冲区写入磁盘时则将日志缓冲区输出。 
LGWR进程同步地写入到活动的镜象在线日志文件组。如果组中一个文件被删除或不可用,LGWR 可继续地写入该组的其它文件。 日志缓冲区是一个循环缓冲区。当LGWR将日志缓冲区的日志项写入日志文件后,
服务器进程可将新的日志项写入到该日志缓冲区。LGWR 通常写得很快,可确保日志缓冲区总有空间可写入新的日志项。 
注意:有时候当需要更多的日志缓冲区时,LWGR在一个事务提交前就将日志项写出,而这些日志项仅当在以后事务提交后才永久化。 ORACLE使用快速提交机制,当用户发出COMMIT语句时,一个COMMIT记录立即放入日志缓冲区,但相应的数据缓冲区改变是被延迟,直到在更有效时才将它们写入数据文件。当一事务提交时,被赋给一个系统修改号(SCN),它同事务日志项一起记录在日志中。由于SCN记录在日志中,以致在并行服务器选项配置情况下,恢复操作可以同步。 
RM机器人麦轮底盘实战:从零搭建到PID调参全记录(附避坑指南) 本文详细记录了RM机器人麦轮底盘从零搭建到PID调参的全过程,涵盖硬件组装、开发环境搭建、底盘解算和PID调参等关键步骤,并附有实用的避坑指南。特别针对麦轮控制、底盘解算和电机调试等核心问题提供了专业解决方案,帮助开发者快速提升机器人性能。 阅读详情

相关推荐

团结引擎+OpenHarmony 记录 (持续更新中)

获取不到的原因是因为二者不在同一个线程中,所以数据没有同步。而 globalThis.context 数据进行了同步。(TuanjieMainWorkerHandler.ts中可以看到)在进行绘制 UI 的时候 ,如果组件有 Native API 就可能不会显示出来,例如 web 控件就不能展示出来,刚加上权限的时候 会报错 因为缺少 reason ,添加上就不会报错了。只有纯 UI 控件是可以展示出来的,注释掉 web控件后就可以。

m_cainiaokuaifei的博客 1491

ORACLE中各个进程

oracle是典型的多进程数据库。oracle实例运行起来后,会同时启动很多进程,由不同的进程负责不同的操作。守护进程:GI(Grid Infrastructure)进程和监听进程都是为oracle实例提供服务,但是不属于实例,是独立于实例之外的进程,这种进程就叫做守护进程。进程:后台进程 --> 是oracle实例运行起来后自动运行的进程,完成oracle的基本功能。前台进程 --> 用户连接,在数据库中创建的进程,用于执行用户操作。监听进程 --> 也叫守护进程,是独立于oracle之外的进程。监听进程

顺其自然~专栏 4452

从ORCAP-1589警告看Cadence ORCAD的DRC设置:如何避免‘网络别名’引发的潜在短路风险

本文深入解析Cadence ORCAD中ORCAP-1589警告的深层含义,探讨网络别名可能引发的短路风险及DRC设置优化方案。通过分析网络别名的设计意图、DRC规则配置及最佳实践,帮助工程师有效规避设计风险,提升电路设计的可靠性和规范性。

weixin_34194829的博客 297

Oracle进程

Oracle进程

u011868279的博客 2982

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

【反封禁策略】集成 Undetected-Chromedriver:让 Browser-Use 绕过 Cloudflare 五秒盾

摘要:AI Agent如何突破Cloudflare检测的实战指南 本文针对AI Agent在Cloudflare检测下频繁受阻的问题,深入分析了undetected-chromedriver的工作原理与局限性。文章指出,Cloudflare 2026年的检测体系已升级为"浏览器指纹+IP信誉+协议指纹+行为模式"的多维交叉验证,单一伪装方案难以奏效。 核心内容包括: undetected-chromedriver的三层补丁体系解析 v2与v3版本的适用场景对比 两种Browser-Use集成方案:Selen

ZDQ58818的博客 284

关于oracle用户进程,服务进程,后…

用户进程(User Process)   是一个需要与Oracle Server交互的程序   运行于客户端   当用户运行某个工具或应用程序(如SQL*Plus)时创建,当用户退出上述程序时结束   用户进程向Oracle Server发出调用,但它并不与Oracle Server直接交互,而是通过Server Process与Oracle Server进行交互。   --------

wxwpxh的专栏 1739

西门子TP900精智系列触摸屏和三菱Q系列PLC以太网通信的组态步骤

西门子TP900精智系列触摸屏和三菱Q系列PLC以太网通信的组态步骤

Robot_PLC_HMI_Automation 6099

关于Oracle的进程

        数据库实例是由内存和后台进程组成。         进程是操作系统的一种机制,它执行一系列的步骤,完成指定的任务(有些操作系统中叫做作业或者任务,Job 或者Task)。一个进程通常拥有它的私有内存区(private memory area)         进程是动态的、有生命的,程序是静态的,程序是一系列指令的集合,进程强调的是执行过程。        Oracle数据库...

aganliang的专栏 875

单智能体篇:Prompt工程艺术

模型在接收到 Prompt 时会自动扮演“角色”,角色定义的好坏直接影响智能体输出的风格和专业性。角色定义的重要性让智能体具备明确身份,例如“你是一位专业理财顾问”或“你是一个幽默的文案创作助手”。角色限定了模型知识输出的范围,使回答更专业、更贴合预期。实战示例模糊Prompt给我一些投资建议。你可以投资股票或者基金。优化Prompt你是一位具有10年经验的专业理财顾问,请给我针对30岁男性,年收入20万,风险偏中等的投资组合建议。

公众号:AI前沿侦探 1304

prplOS amx-fxgi调试-订阅subscribe

本文分析了prplOS中amx-fxgi订阅功能(subscribe)的实现与调试过程。通过梳理订阅流程发现,默认订阅失败主要由于acl规则限制导致。文章详细介绍了订阅的两个关键步骤:建立GET长连接和POST设置订阅路径,并通过修改代码绕过acl验证成功实现订阅功能。最终验证了在同一连接下订阅多个路径及实时接收状态更新的可行性,有效降低了设备查询负载。该方案为prplOS的实时数据监控提供了优化思路。

四儿家的小祖宗的博客 330

Oracle进程有15个,Oracle的几个进程都有什么作用

匿名用户1级2018-08-01 回答一:database write :数据写入作用:把SGA中被修改的数据同步到磁盘文件中。保证Buffer Cache中有足够的空闲数据块数量。触发条件:1,检查点2,一个服务进程在设定的时间内没有找到空闲块。3,每3秒自动唤醒一次。设置:DB_WRITER_PROCESSES用来定义DBWn进程数量。(commit命令只是把记录修改...

weixin_42366533的博客 723

西门子 S7-1200 G2 高速计数器的使用方法介绍

西门子 S7-1200 G2 高速计数器的使用方法介绍

Robot_PLC_HMI_Automation 1694

ORACLE学习几个重要的后台进程

今天有个同事问我oracle这几个进程的关系和工作机制,简单的回忆了一下,觉得这几个进程对oracle的工作非常重要。而且弄清这几个进程,对学习oracle也是非常有帮助,下面把这几个进程和大家分享一下:何时触发lgwr,dbw...

157

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Oracle几个进程以及触发条件

oracle服务器由oracle数据库和oracle实例组成。oracle实例由后台进程和内存结构组成。内存结构包括SGA(全局系统区)和PGA(程序全局区)。SGA包括:共享池,数据缓冲区,日志缓冲区,large池,java池,stream池等。PGA:一个instance对应一个SGA,可对应多个PGA。一个ORACLE实例有多个后台进程,分别为:DBWR(数据库写进程)...

weixin_34004576的博客 287

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Oracle数据库的几个主要进程

常见的后台进程包括DBWn(数据库写进程)、LGWR(日志写进程)、SMON(系统监控进程)、PMON(进程监控进程)等,它们各自在数据库的运行和管理中扮演着重要角色。Oracle数据库的性能和稳定性是由多个进程共同协作来维护的,这些进程包括用户进程(User Process)、服务器进程(Server Process)和后台进程(Background Process)等。Oracle数据库的运行是多个进程共同协作的结果,而不是依赖于一个单一的主进程。用户进程不在数据库服务器上运行,而是在客户端机器上。

ajax_beijing_java的博客 731

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

oracle10g系统管理之几个进程的作用(转载)

1、DBWR进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个Oracle后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用的缓冲区时,DBWR将管理缓冲存...

我的读书笔记 75

java 查询windows进程_Oracle查询语句,你知道几个?(下)

23、在表空间添加数据文件在表空间中添加数据文件Java代码 ALTER TABLESPACE data01 ADD DATAFILE '/work/oradata/STARTST/data01.dbf' SIZE 1000M AUTOEXTEND OFF; 24、增加数据文件的大小给指定的表空间增加大小Java代码 ALTER DATABASE DATAFILE '/u01/app/T...

weixin_39567046的博客 108

java 查询windows进程_Oracle查询语句,你知道几个?(下)

23、在表空间添加数据文件在表空间中添加数据文件Java代码 ALTER TABLESPACE data01 ADD DATAFILE '/work/oradata/STARTST/data01.dbf' SIZE 1000M AUTOEXTEND OFF; 24、增加数据文件的大小给指定的表空间增加大小Java代码 ALTER DATABASE DATAFILE '/u01/app/Test_...

weixin_39996141的博客 134

oracle 监控 视图,【转】oracle几个常用的监控视图

【转】oracle几个常用的监控视图oracle几个常用的监控视图oracle几个常用的监控视图v$process视图:v$process视图包含当前系统oracle运行的所有进程信息。常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。常用列:ADDR:进程对象地址PID:oracle进程IDSPID:操作系统进程IDV$PROCESS中的连接列Column V...

weixin_30162121的博客 236

Backgroud process oracle后台进程

·         Process Monitor Process (PMON)   进程监视器进程(PMON) 在用户进程失败时执行进程恢复。PMON 负责清除数据库缓冲区高速缓存以及释放该用户进程使用的资源。例如,它重置活动事务处理表的状态,释放锁,并且从活动进程列表中删除该进程ID。 PMON 定期检查分派程序和服务器进程的状态,并重新启动任何已停止运行(但并非Oracle DB 故意

冯帅 1003

三、Oracle数据体系架构之:进程结构

文章目录三、Oracle数据体系架构之:进程结构1. DBWN 写进程2、LGWR 日志系写进程3、OKPT4、SMON 系统监视进程5、PMON 进程监控 三、Oracle数据体系架构之:进程结构 分为:DBWN 写进程 ​ lgwr 日志写进程 ​ okpt 检查点进程 ​ smon 系统监控进程 ​ pmon 进程监控 1. DBWN 写进程 ora_dbw_orc

m0_46400195的博客 706

检查CPU使用高的进程

------------检查CPU使用高的进程----------select ss.sid,se.command,ss.value CPU ,se.username,se.program ,vp.SPID OS_Processesfrom v$sesstat ss, v$session se,v$process vp   where ss.statistic# in (select statis

没有思考就没有发言权 548

oracle 后台进程:7大进程总结(转载)

前面我们说过,Oracle的实例由内存结构和一组后台的进程组成。Oracle的后台进程比较重要的包括以下几个:·SMON·PMON·DBWR·LGWR·ARCH·CKPT下面我们将逐一介绍各个进程的作用。一、SMONSMON(S...

csb47658的博客 189
上一篇: oracle spfile和pfile详解
下一篇: oracle工作原理(收藏)
fantisGod
博客等级 码龄15年 115粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值