首页 > 数据库 >oracle进程

oracle进程

时间:2024-06-08 16:22:32浏览次数:24  
标签:数据库 用户 进程 从属 oracle 服务器

每个oracle进程都有自己的任务,oracle会给进程分配内存(PGA)让进程更好的完成任务。oracle进程可以分为三类:服务器进程,后台进程,从属进程。

1 服务器进程

服务器进程是执行客户端会话指令的进程。负责将客户端的指令发送到oracle服务端执行,然后将服务端的结果返回给客户端。可分为专用服务器进程和共享服务器进程。

1.1 专用服务器进程

当数据库的连接方式设为专用服务器连接,用户在登录oracle数据库时,数据库会创建专用服务进程服务用户的请求。在整个用户的登录会话周期内,专门为这个用户服务。每个用户都有自己的服务器进程。

1.2 共享服务器进程

当数据库的连接方式设为共享服务器连接,用户在登录oracle数据库时,数据库会使用共享服务进程服务用户的请求。用户的请求会放在一个请求队列中,当数据库有空闲的共享服务器进程时,这个共享服务器进程就会处理用户的请求,处理完成后会将处理结果放在响应队列中,当处理结果出列后就返回给用户。

2 后台进程

后台进程可以通过v$bgprocess视图查看,名字都是以ora_开头,以实例名结束,中间是进程自身名称。

2.1 PMON:进程监视器

负责在连接出现异常中止后进行清理工作。例如,一个专用服务器“失败”或者出于某种原因被结束掉,就要由PMON进程负责善后(恢复或撤销工作),并释放资源。PMON会回滚未提交的工作,释放锁,并释放之前为失败进程分配的SGA资源。

2.2 LREG:监听注册进程

LREG进程负责将数据库实例和服务注册到监听器中

2.3 SMON:系统监视器

SMON进程用来做所有“系统级”的任务。

  • 清理临时表空间
  • 维护V$OBJ字典
  • 管理undo
  • 帮助实例恢复

2.5 CKPT:检查点进程

检查点触发后,当DBWn把对应的脏块写入磁盘后,CKPT更新数据文件以及控制文件的检查点。

2.6 DBWn:数据库块写入器

负责将脏块(修改过的块)写入磁盘的后台进程。

2.7 LGWR:日志写入器

LGWR进程负责将SGA中重做日志缓冲区的内容刷新输出到磁盘。如果满足以下条件之一时,就会做这个工作:

  • 每过3秒;
  • 一个提交或回滚发起时;
  • LGWR被告知进行日志文件切换时;
  • 重做日志缓冲区1/3满,或者已经包含1 MB的缓冲数据。

2.8 ARCn:归档进程

当一个在线重做日志文件填满时,ARCn就将其复制到另一个位置。

3 从属进程

Oracle中有两类从属进程:I/O从属进程和并行査询从属进程。

3.1 I/O从属进程

I/O从属进程用于在不支持异步I/O的系统或设备上模拟异步I/O,DBWn和LGWR可以利用I/O从属进程来模拟异步I/O

3.2 Pnnn:并行查询执行服务器

使用并行查询功能时,会使用到Pnnn。

标签:数据库,用户,进程,从属,oracle,服务器
From: https://www.cnblogs.com/study9196/p/18237134

相关文章

  • 成为MySQL DBA后,再看ORACLE数据库(七、日志体系)
    说起数据库的日志,一般有redo日志、归档日志、错误日志、审计日志等,不同的数据库为了满足其特定的功能会有不同类型的日志。在ORACLE的日常运维中,可能接触得最多的就是redo日志、归档日志、告警日志、闪回日志这几种日志。在ORACLE知识体系中,一般把redo、undo、checkpoint这几个知......
  • 计算机语言python发展历史进程
    Python语言之父,荷兰人GuidovanRossum。他于1982年从阿姆斯特丹大学取得了数学和计算机硕士学位。20世纪80年代中期,Python之父GuidovanRossum还在CWI(数学和理论计算机科学领域的研究中心,位于阿姆斯特丹)为ABC语言贡献代码。ABC语言是一个为编程初学者打造的研究项目。A......
  • 6/7学习进程
    今天上数据库实验课完成了两次实验实验三数据库完整性、安全性实现一、实验目的:使学生加深对数据库安全性和完整性的理解,并掌握SQLServer中有关用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器以及存储过程。二、实验要求:通过实验对数据进行完整性控......
  • 在Linux中,进程间通信方式有哪些?
    在Linux中,进程间通信(IPC)是允许多个进程或线程交换数据或信号的机制。以下是一些常见的进程间通信方式:1.管道(Pipes)允许一个进程将输出发送到另一个进程的输入。可以是匿名管道或命名管道(FIFOs)。#创建匿名管道mkfifo/tmp/mypipe#使用管道echo"Hello">/tmp/mypipeca......
  • 进程间通信九天学习笔记
    进程间通信九天学习笔记day1:基本进程操作fork()返回pid进程idgetpid()获取当前进程IDsystem()执行系统命令day2:管道匿名管道pipe(intpipefd[2])pipefd[0]读操作pipefd[1]写操作有名管道(FIFO)mkfifo(,0644)open()read()write()day3:信号标准......
  • Linux开发:多进程通过shm_open/mmap共享内存
    Linux编程:多进程间通过shmget共享内存_检测共享内存中是否有数据-CSDN博客介绍了通过SYSV的方式进行多进程间共享内存,这种方式属于比较久远的方式。POSIX也提供了共享内存的方法,使用起来要更容易些式其原理是利用Linux的tmpfs(Linux开发:tmpfs文件系统-CSDN博客)$df......
  • 【云原生进阶之数据库技术】第二章-Oracle-原理-4.4.2-SGA架构
    1系统全局区:SGA1.1SGA概念简介        SGA是一块可读写内存区域,与Oracle后台进程(backgroundprocesses)一起构成了数据库实例。所有代表用户执行的服务器进程都能读取实例SGA里的信息。有一些进程能在数据库运行时写入SGA。需要注意的是,服务器和后台进程本身并不在......
  • Linux学习—Linux服务和守护进程
    在Linux系统中,服务和守护进程是保持系统运行的关键组件。服务是运行在后台的程序,通常在系统启动时自动启动,而守护进程是持续运行的程序,用于监听特定的事件或执行定期任务。本文将介绍如何在Linux环境下管理服务和守护进程,并展示一些实用的命令和代码示例。服务和守护进程简......
  • 09 进程和计划任务管理
    1、查看和控制进程程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。注:在Linux操作系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序......
  • 进程地址空间详解
    在操作系统中,进程的地址空间是一个非常关键的概念。理解它不仅有助于我们掌握进程间通信和资源分配,还能深入理解操作系统的核心机制。本文将详细讲解进程地址空间的结构、其与物理内存和进程控制块(PCB)的关系,以及页表和写时拷贝(Copy-on-Write)的具体实现。 进程地址空间概述首......