zoukankan      html  css  js  c++  java
  • ORACLE 的前后台进程

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

    用户进程(User Process)
      是一个需要与
    Oracle Server交互的程序
      运行于客户端
      当用户运行某个工具或应用程序(如SQL*Plus)时创建,当用户退出上述程序时结束
      用户进程向
    Oracle Server发出调用,但它并不与Oracle Server直接交互,而是通过Server Process与Oracle Server进行交互。
      --------------------------------------------------------------------------------------
      服务进程(Server Process)
      是一个直接与Oracle Server交互的程序。
      与Oracle Server运行于同一台机器上
      使用PGA执行User Process发出的调用,并向User Process返回结果状态和结果信息。
      --------------------------------------------------------------------------------------
      后台进程(Background Process)注:本人认为比较重要的一部分 。
      后台进程用于维护物理
    存储与内存中的数据之间的关系。主要包括:
      DBWn
      PMON
      CKPT
      LGWR
      SMON
      RECO
      ARCn
      -----------------------------------------
      Database Writer(DBWn)
      DBWn在以下情况将数据写入磁盘(数据文件data file):
      1)发生检查点
      2)达到脏缓冲区阈值
      3)没有可用的缓冲区
      4)超时
      5)将表空间设置为脱机或只读
      6)删除或截断表
      7)备份表空间
      -----------------------------------------
      LOG Writer(LGWR)
      LGWR在以下情况将缓冲区中的数据写入磁盘(联机日志文件redo log):
      1)事务提交
      2)三分之一的redo日志缓冲区已满
      3)Redo日志缓冲区中的内容超过1M
      4)每三秒钟
      4)在DBWn写磁盘之前
      -----------------------------------------
      System Monitor(SMON)
      负责检查和维护Oracle database的一致性。它主要完成以下工作:
      1)实例恢复
      2)重做已提交的事务
      3)打开数据库
      4)回滚未提交的事务
      5)合并数据文件中相邻的自由空间
      6)释放临时段的空间
      ----------------------------------------
      Process Monitor(PMON)
      当某个进程失效时,清除相关的资源。它主要负责以下工作:
      1)回滚用户的当前事务
      2)释放相关的锁
      3)是否其它相关的资源
      ---------------------------------------
      Checkpoint(CKPT)
      Checkpoint负责:
      1)使DBWn将SGA中所有被修改的数据库缓冲区的内容写入磁盘,无论事务是否被提交
      2)用检查点信息更新数据文件头
      3)用检查点信息更新控制文件
      它可以保证:
      1)将经常被修改的数据块写入磁盘
      2)简化实例恢复
      ---------------------------------------
      Archiver(ARCn)
      是一个可选的后台进程
      当把数据库设置为ARCHIVELOG模式时,可以自动归档联机redo日志
      能够保存所有对数据库所做修改的记录

    一个Oracle系统的进程可以分为两个主要的组:
    1.用户进程运行应用程序或者Oracle工具代码
    2.?Oracle进程运行Oracle数据库服务代码。它们包括服务器进程和后台进程。
    进程结构针对不同的Oracle配置、不同的操作系统和Oracle附件的选择都会有所不同。连接用户的代码可以配置为共享服务器或者专用服务器。
    在专用服务器情况下,对每个用户来说,数据库应用程序运行的进程(用户进程)和Oracle数据库服务器代码运行的进程(专用服务器进程)不同。
    在共享服务器下,数据库应用程序运行在和Oracle数据库代码不同的进程上(用户进程)。每个运行Oracle服务器代码的服务器进程(共享服务器进程)可以对多个用户进程服务。

    服务器进程
    Oracle创建服务器进程来处理连接到这个实例的用户进程的请求。在应用程序和Oracle运行在一台机器的情况下,可以将用户进程和对应的服务器进程合并来降低系统开销。但是,当应用程序和Oracle在不同的计算机上运行时,用户进程总是通过不同的服务器进程连接Oracle。
    为每个用户应用程序创建的服务器进程(或者合并的用户/服务器进程的服务器部分)可以执行下列任务:
    1,解析和运行应用程序发布的SQL语句
    2,如果SGA中不存在一些数据块的数据,服务器进程会从磁盘上的数据文件读取必要的数据块到SGA的共享服务器缓存中。
    3,以应用程序可以处理的信息方式返回结果。
    后台进程
    为获得最高的性能和适应多用户,一个多进程Oracle系统使用一些叫做后台进程的额外Oracle进程。
    一个Oracle实例可以有很多后台进程;但不是所有的都必须存在。后台进程数量很多。查看视图V$BGPROCESS可以得到关于后台进程的信息。一个Oracle实例中的后台进程可以包含下列进程:
    1,数据库写入进程(Database Writer Process,DBWn)
    2,日志写入进程(Log Writer Process,LGWR)
    3,检查点进程(Checkpoint  Process,CKPT)
    4,?系统监视进程(System Monitor Proces

     

  • 相关阅读:
    Linux 中 java 访问 windows共享目录
    Java中Calender引用类型
    Hadoop MultipleOutputs 结果输出到多个文件夹 出现数据不全,部分文件为空
    转个扯淡的~
    nginx+uwsgi部署python web(web.py)
    关于已经安装python为何还要安装python-dev
    centos7安装mysql5.6
    centos7.0防火墙更换为firewalld
    并发模型(二)——Master-Worker模式
    并发模型(一)——Future模式
  • 原文地址:https://www.cnblogs.com/programer-xinmu78/p/10661202.html
Copyright © 2011-2022 走看看