Oracle数据库基础学习08-实例进程结构

本文介绍了Oracle数据库的进程结构,包括用户进程、服务器进程、后台进程如DBWn、LGWR、PMON和SMON等。重点阐述了各进程的作用,如DBWn负责数据写入,LGWR处理日志写入,PMON监控和清理,SMON执行系统维护。此外,还讨论了检查点和归档日志进程的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户进程与服务器进程

进程在Windows平台上通常可以看作一个可执行的程序或者是服务,可以通过Windows操作系统的任务管理器查看当前操作系统上运行的进程;在Linux系统中,可以使用 ps -ef 命令来查看当前活动的进程。这些进程有的是后台进程,随实例启动,有的是服务器进程,每当有会话连入Oracle数据块时,就会开始一个服务器进程。对于专用服务器连接来说,一个用户会有一个专门的服务器进程,而对于共享服务器来说,则只会具有一个或多个调度器进程。

在Oracle中,进程可以理解为如下几类:

  • 用户进程:一般指客户端上运行的Oracle应用程序或工具创建的进程;
  • 服务器进程:当客户端向服务器端发送操作请求时,Oracle会创建一个相应的服务器进程,它代表客户会话完成工作的进程,应用程序向数据库发送的SQL语句最后就要由这些进程接收并执行;
  • 后台进程:这些进程随数据库而启动,用于完成各种维护任务,比如数据库写入进程 DBWn 、日志写入进程 LGWR 、检查点进程 CKPT 等,都属于后台进程。用户可以通过 v$bgprocess 查询关于后台进程的信息;
  • 从属进程:用于为后台进程或服务器进程提供额外的执行任务。

进程的结构取决于操作系统及数据库配置为专用服务器还是共享服务器连接,在共享服务器体系结构中,一个运行数据库代码的服务器进程可能为多个客户端提供服务,Oracle实例与进程间的组成结构如图所示,这个图也可以看作时整个Oracle数据库的体系结构图。

Oracle实例进程与内存的组成结构

 

用户进程可能位于网络上的其他位置,它们通过 Oracle Net 与Oracle服务器进程通信,每当一个用户进程连接到Oracle,Oracle就会产生一个相应的服务器进程,只有实例的服务器进程才能够访问SGA,比如使用 SQL*Plus连接到Oracle,在Oracle服务器上使用 ps -ef 命令可以查询到一个使用相应的服务器进程。

注意:数据库连接与数据库会话是两个不同的概念,连接是用户进程与Oracle实例间的通信通道,会话是用户通过用户进程与Oracle实例建立的连接,比如启动 SQL*Plus并输入用户名密码后,就与Oracle实例建立了一个会话。

Oracle数据库根据用户进程的连接来创建服务器进程,以处理连接到实例的客户端进程的请求。服务器进程可以执行一个或多个下列任务:

  • 解析
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值