关于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

ORACLE 的前后台进程的更多相关文章

  1. Linux下使用ps命令来查看Oracle相关的进程

    Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [oracle@ www.linuxidc.com ...

  2. Oracle删除死锁进程的方法

    本文实例讲述了Oracle删除死锁进程的方法.分享给大家供大家参考.具体如下: 步骤1:用以下SQL查看进程列表,判断出被锁定的表 复制代码代码如下: SELECT dob.OBJECT_NAME T ...

  3. Oracle体系结构之进程

    Oracle体系结构之进程 一.概述 Oracle中的每个进程都要执行一个特定的任务(或者一组任务),每个进程都会为自己分配内存(PGA)来完成它的任务.一个Oracle实例主要有以下3类进程: (1 ...

  4. Linux下可以使用ps命令来查看Oracle相关的进程

    Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [oracle@ www.linuxidc.com ...

  5. oracle错误:1067进程意外终止

    oracle错误:1067进程意外终止我Oracle安装完了之后可以运行的 ,过了一段时间不可以了,就上网找了一下,原来是自己的ip已经改变.我一直使用IP地址的. 将D:\oracle\produc ...

  6. Linux学习笔记(16)Linux前后台进程切换(fg/bg/jobs/ctrl+z)

    关键词:Linux前后台进程切换,linux进程切换 fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一.& ...

  7. Oracle 11g 体系结构 --SGA PGA 前后台进程

    Oracle服务器主要由实例.数据库.程序全局区.前台进程 实例:用来提供管理数据库的功能 数据库:由Oracle数据库文件组成,用来存储系统数据 ;一般有:数据文件.控制文件.重做日志文件 而实例可 ...

  8. ORACLE会话连接进程三者总结

    概念介绍 通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器.通过哪个应用程序.哪个用户 ...

  9. 中断ORACLE数据库关闭进程导致错误案例

    昨晚下班的时候,我准备关闭本机的虚拟机上的ORACLE数据库后准备下班,但是由于我SecureCRT开了多个窗口,结果一不小心,疏忽之下在一个生产服务器上执行了shutdown immediate命令 ...

随机推荐

  1. redis消息提醒设计方案细则

    ----需求明细: 现有多个角色,角色间需要交互,内容分为申请,审核通过,拒绝,解除合作.每个角色进入自己后台显示查看其他角色的未读消息个数,点击进入显示所有发送来的内容.最开始只存储未读个数,并不知 ...

  2. Java 面向对象(十四)

    反射 反射是框架设计的灵魂 一.类的加载时机 当程序要使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载 :就是指将class文件读入内存,并为 ...

  3. 记一次被DDoS敲诈的历程 糖果LUA FreeBuf 今天 0x01 背景

    记一次被DDoS敲诈的历程 糖果LUA FreeBuf 今天 0x01 背景

  4. 解读typescript中 super关键字的用法

    解读typescript中 super关键字的用法 传统的js,使用prototype实现父.子类继承.如果父.子类有同名的方法,子类去调用父类的同名方法需要用 “父类.prototype.metho ...

  5. 《最长的一帧》 osg3.4 osgViewer::View::init() osgViewer::Viewer::getContexts()

    开始:osgViewer/ViewerBase.cpp   389行,startThreading()函数,启动线程   void ViewerBase::startThreading() { if ...

  6. Jmeter响应断言--正则表达式判断纯数字

    如图所示,这样是匹配14位数字,如果响应是纯数字可以直接用上

  7. CentOS7下JSP连接Mysql

    实验环境如下: youxi1 CentOS7.5 Tomcat8.5.35 192.168.5.101 youxi2 CentOS7.5 Mysql5.7.20 192.168.5.102 (1).下 ...

  8. 教你如何在linux上装逼,shell中颜色的设置

    linux启动后环境变量加载的顺序为:etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc] 想 ...

  9. delphi TClientDatset资料

    第十一章 TClientDataSet 与TTable.TQuery一样,TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端.TClientDataSet最大 ...

  10. iOS定时器按钮短时间内多次点击只触发一次事件方法

    今天在看别人代码的时候,有个个60秒获取验证码的功能,做了个定时器,按钮触发定时器,点击按钮后设置按钮的enabled为NO,逻辑来讲都是没问题的 但是实际操作的时候,恶意的在短时间内多次点击那个获取 ...