扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
3-2:后台进程(Backgroung Process)
数据库的物理结构与内存结构之间的交互要通过后台进程来完成。数据库的后台进程包
含两类,一类是必须的,一类是可选的:
•Mandatory background processes
|--DBWn(Database Writer):数据写入
|--PMON(Process Moniter):进程监控
|--LGWR(Log Writer):日志写入
|--SMON(System Moniter):系统监控
|--RECO(Recovery):恢复
|--CKPT(Chekpoint):检查点
•Optional background processes
|--ARCn(Archiver):归档
|--LCKn(Lock):锁
|--Dnnn(Dispatcher):调度
|--......
可以用下面的语句查看正在运行的后台进程:
=========================================
SQL> select * from v$bgprocess where paddr<>'00';
PADDR PSERIAL# NAME DESCRIPTION
-------- ---------- ----- -------------------------------
6B0ED064 1 PMON process cleanup
6B0ED4E4 1 MMAN Memory Manager
6B0ED964 1 DBW0 db writer process 0
6B0EDDE4 1 LGWR Redo etc.
6B0EE264 1 CKPT checkpoint
6B0EE6E4 1 SMON System Monitor Process
6B0EEB64 1 RECO distributed recovery
6B0EEFE4 1 CJQ0 Job Queue Coordinator
6B0F01E4 1 QMNC AQ Coordinator
6B0F0664 1 MMON Manageability Monitor Process
6B0F0AE4 1 MMNL Manageability Monitor Process 2
========================================
3-2-1:DBWR(Database Writer,数据写入进程)
将数据缓冲区的数据写入数据文件,是负责数据缓冲区管理的一个后台进程。
当数据缓冲区中的一数据被修改后,就标记为dirty,DBWR进程将数据缓冲区中“脏”
数据写入数据文件,保持数据缓冲区的”干净“。由于数据缓冲区的数据被用户修改并占
用,空闲数据缓冲区会不断减少,当用户进程要从磁盘读取数据块到数据缓冲区却无法找
到足够的空闲数据缓冲区时,DBWR将数据缓冲区内容写入磁盘,使用户进程总可以得到足
够的空闲数据缓冲区。
DBWR的作用:
•管理数据缓冲区,以便用户进程总能够找到足够的空闲缓冲区。
•将所有修改后的缓冲区数据写入数据文件。
•使用LRU(最近最少使用)算法保持缓冲区数据是最近经常使用的。
•通过延迟写来优化磁盘I/0读写。
3-2-2:LGWR(Log Writer,日志写入进程)
将日志数据从日志缓冲区写入磁盘日志文件组。数据库在运行时,如果对数据库进行修
改则产生日志信息,日志信息首先产生于日志缓冲区。当日志达到一定数量时,由LGWR将
将日志数据写入到日志文件组,再经过日志切换,由归档进程(ARCH)将日志数据写入归
档进程(前提是数据库运行在归档模式下)。数据库遵循写日志优先原则,即在写数据之前
先写日志。
简单介绍
•ARCH(Archiver,归档进程)
Oracle数据库有两种运行模式,归档(ARCHIVELOG),非归档(NOARCHIVELOG)模式。
以非归档模式运行时日志在切换时被直接覆盖,不产生归档日志,这是数据库默认的运行模
式。数据库运行在归档模式时,在日志切换之前,由ARCH进程将日志信息写入磁盘,也就是
自动备份在线日志。
Oracle数据库的Redo文件数量是有限的,所以Oracle以循环的方式向它们中写入。它顺
序写满每一个Redo文件,当达到最后一个时,再循环回去开始填写第一个Redo文件。如果为
了能恢复数据库而想保存日志文件,那么在它们被重新使用之前需要对其进行备份,归档进
程管理此工作。
•CKPT(Check Point,检查点进程)
运行CKPT时,系统对全部数据文件及控制文件文件头的同步信号进行修改,以保证数据
库的同步。检查点出现在以下情况:
|--在每个日志切换时产生。
|--上一个检验点之后又经过了指定时间。
|--从上一个检验点之后,当预定义数量的日志块被写入磁盘之后。
|--数据库关闭。
|--DBA强制产生。
|--当表空间设置为OFFLINE时。
•SMON(System Moniter,系统监控进程)
SMON在实例启动时执行实例恢复,并负责清理不再使用的临时段。
•PMON(Process Monitor,进程监控)
PMON在用户进程出现故障时进行恢复,负责清理内存区域和释放该进程所使用的资源。
•RECO(Recovery,恢复进程)
RECO用于分布式数据库维持在分布式环境中的数据的一致性。
•LCKn(Lock,锁进程)
在并行服务器中用于多个实例间的封锁。
•Dnnn(Dispatcher,调度进程)
Dnnn存在于多线程服务器体系结构中,负责将用户进程连接到服务器进程,再把结果返
回给用户进程。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者