科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Oracle体系结构:内存结构和进程结构(三)

Oracle体系结构:内存结构和进程结构(三)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

到日志文件组,再经过日志切换,由归档进程(ARCH)将日志数据写入归 档进程(前提是数据库运行在归档模式下)。数据库遵循写日志优先原则,即在写数据之前 先写日志。 简单介绍 ?ARCH(Archiver。

作者:中国IT实验室 来源:中国IT实验室 2007年9月16日

关键字: 体系结构 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章