关于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. 怎么样修改小程序分享的title/onShareAppMessage

    onShareAppMessage: function (res) { if (res.from === 'button') { // 来自页面内转发按钮 console.log(res.target ...

  2. /dev/mem同步写不能使用msync的MS_SYNC选项探究

    问题 做了个测试板子的程序,里面有一项写铁电的功能,要求写入之后立即断电,重启后校验数据准确性:铁电设计是通过内存地址直接映射的,于是,使用mmap直接映射了/dev/mem文件,自然地写入之后使用m ...

  3. [RK3399] 调试串口ttyS2改为普通串口

    CPU:RK3399 系统:Android 7.1 串口需求量大时,会选择使用 spi 转串口,但是数据量大或者波特率较高时,传输会丢包. 调试串口 ttyS2 也可以让出来,供上层使用,下面是将 t ...

  4. docker - nginx+php+php-mysql(扩展)

    Docker 安装 Nginx(https://www.runoob.com/docker/docker-install-nginx.html) Docker 安装 PHP(https://www.r ...

  5. NetHogs监控Linux的每个进程流量

    在日常运维环境中,我们肯定会遇到以下这种需求: 1.网络流量异常,不知道是哪个程序的流量爆涨? 2.日常需要监控网络实时的流量进去数据 面试装逼系列|这篇文章,让运维监控不再成为你的短板! 学会这 1 ...

  6. osg qt kdchart 开发施工过程模拟软件

    void TeslaManage::initGanttModel() { ganttModel = , , this); ganttModel->setHeaderData(, Qt::Hori ...

  7. 阶段5 3.微服务项目【学成在线】_day18 用户授权_17-细粒度授权-获取当前用户信息

    3.4.1需求分析 要想实现只查询自己的课程信息则需要获取当前用户所属的企业id. 1.认证服务在用户认证通过将用户所属公司id等信息存储到jwt令牌中. 2.用户请求到达资源服务后,资源服务需要取出 ...

  8. 算法习题---4.4信息解码(UVa213)

    一:题目 消息编码方案要求在两个部分中发送一个被编码的消息.第一部分:称为头,包含消息的字符.第二部分包含一个模式 表示信息.你必须写一个程序,可以解码这个消息. (一)题目详细 你的程序的编码方案的 ...

  9. [Feature] Feature selection - Embedded topic

    基于惩罚项的特征选择法 一.直接对特征筛选 Ref: 1.13.4. 使用SelectFromModel选择特征(Feature selection using SelectFromModel) 通过 ...

  10. CDS视图篇 2

    核心数据服务 (CDS) 公司希望使用 SAPS/4HANA 核心数据服务 (CDS) 视图技术.需要学习 CDS 视 图的概念和结构以及语法 . ● 核心数据服务是用于业务实体的 SAP 战略建模方 ...