Oracle进程说明

摘要:
ORACLE有五个核心过程。1.DBWn进程:用于将buffercache中的脏数据写入硬盘中的数据文件。可以同时有多个进程进行并发写入。但在检查点完成后,CKPT进程负责更新数据文件和控制文件的头信息,并保存检查点信息,以确保数据库日志文件和数据文件的同步。SMON进程会定期唤醒以检查是否有必要,或者在发现有必要时调用其他进程。

ORACLE有五大核心进程

1.DBWn进程:用来将buffer cache中的脏数据写入到硬盘中数据文件中,可以有多个该进程,进行同时的并发写入。

Oracle进程说明第1张

 

当sga中的数据缓冲区的数据块被修改后,该数据块就会被标记为脏块,当数据缓冲区的空间不足时,就会触发该进程把脏块写入到数据文件,

读取脏块时也是有lru规则,并不是将所有脏块一次写入数据文件中,当满足下列条件是会触发dbwr进程:

1)当有数据写入缓冲区,发现空间不够,就会触发,按照lru规则写入数据文件(分散写)

2)执行检查点(ckpt进程)

默认情况下,oracle只启动一个dbwr进程,dbwr0,最大不超过20个,建议不要超过系统的cpu的数量和磁盘的数量

要修改dbwr进程数量,参数db_writer_processed,默认1,不支持动态修改,重启后生效。

2.LGWr日志写入进程只有一个

Oracle进程说明第2张

当用户commit(提交事务)时触发lgwr进程

当red log buffer空间的三分之一空间被使用完时会触发lgwr进程

把脏数据写入磁盘之前,该LGWR进程将日志信息先写入到日志文件中,每隔3秒中执行这样的动作。

LGWR进程不能有多个,因为日志是顺序是写入的,不能做并行写入,否则无法做数据恢复。

3.CKPT进程

当dbwr进程写脏块到数据文件时,必须要对控制文件和数据文件进行更新,建立检查点后,oracle数据文件知道记录到了什么位置,当数据库发生崩溃,可以根据重做日志来重建崩溃前检查所有数据文件和控制文件的头部是否一致,是确保在数据缓冲区中所有修改过的数据块都被写入到数据文件中的一种机制,就是确保数据完整性的一种机制。但检查点完成后,CKPT进程负责更新数据文件和控制文件的头部信息,并保存检查点信息,以保证数据库日志文件和数据文件的同步。其原理是在数据库恢复时,只需找到CKPT保存的最后一次检查点,就可以根据它确定在日志文件中恢复数据的起始位置,重新执行之后的日志信息即可。

4.SMON进程

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

 5.PMON进程

1)监控后台进程运行状况

2)如果某些进程异常中断,PMON去释放会话资源以及占用的锁LOCK

3)更新事务表的标志以及清除事务XID的标记

4)清除异常中断会话在BUFFER CACHE占用的缓存

5)PMON也负责定期把数据库实例注册到监听器中

 

免责声明:文章转载自《Oracle进程说明》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇基于docker环境搭建kafka集群(单机版)洛谷 P1918 保龄球下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle中Varchar2/Blob/Clob用法详解

数据库中提供了三种字段类型Varchar2、Blob和Clob用于存储字符串或二进制数据,其中Varchar2、Clob用于存储字符串数据,而Blob用于存储二进制数据。                Varchar2采用单字节存储,有两个最大长度:一个是在字段类型4000;一个是在PL/SQL中变量类型32767。 今天犯了一个小错误,就是函数的var...

oracle jdk和openjdk区别;idea如何加载jdk源码并调试jdk代码

两个jdk的区别 oracle jdk是sun/oracle(甲骨文)公司的,部分jdk开源;相对比较稳定,使用的比较多。openjdk是完全开源的,据说是官方oracle唯一承认的开源版本。 idea如何调试jdk代码 首先oracle默认的源码包是不全的这是当前项目的CLASS_PATH和对应的源码路径(除了前两个zip包是自带的,其他都是我添加的)...

Oracle入门第六天(下)——高级子查询

一、概述   主要内容:    二、子查询介绍   1.简单子查询(WHERE子查询) SELECT last_name FROM employees WHERE salary > (SELECT salary FROM employees...

一些基本的Oracle命令

一些基本的Oracle命令基本命令 连接数据库 C:>SQLPLUS /NOLOG SQL>CONN / AS SYSDBA 1.Oracle 关闭 SQL>SHUTDOWN (ABORT|IMMEDIATE|NORMAL) 2.Oracle 启动 SQL>STARTUP (REMOUNT|MOUNT|OPENT) 3.SQL>...

oracle 错误 TNS-01190与oracle 登入没反应操作

1,问题描述 [oracle@node2 ~]$ lsnrctl stop LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 20-MAY-2019 09:02:03 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connect...

win10 oracle11g Navicat 连接记录

一. 安装oracle11g服务端 1. 安装参考 https://www.cnblogs.com/liuhongfeng/p/5267549.html 2. 安装好后 oracle默认localhost访问的 需要再进行配置 服务端配置 tnsnames.ora 及 listener.ora 我的目录在 d:/app/Administrator/prod...