Oracle数据库进程之服务器进程详解
5页1、Oracle实例主要有3 类进程:(1)服务器进程(serverprocess):这些进程根据客户的请求来完成工作。我们已经对专用服务器和共享服务器有了一定的了解。它们就是服务器进程。(2)后台进程(backgroundprocess):这些进程随数据库而启动,用于完成各种维护任务,如将块写至磁盘、维护在线重做日志、清理异常中止的进程等。(3)从属进程(slaveprocess):这些进程类似于后台进程,不过它们要代表后台进程或服务器进程完成一些额外的工作。在某些操作系统(如Windows)上,Oracle使用线程实现,所以在这种操作系统上,就要把我们所说的“进程”理解为“线程”的同义词。“进程”一词既表示进程,也涵盖线程。如果你使用的是一个多进程的Oracle 实现,比如说UNIX 上的Oracle 实现,“进程”就很贴切。如果你使用的是单进程的Oracle 实现,如Windows上的Oracle 实现,“进程”实际是指“Oracle 进程中的线程”。所以,举例来说,当我谈到DBWn 进程时,在Windows 上就对应为Oracle 进程中的DBWn 线程服务器进程服务器进程就是代表
2、客户会话完成工作的进程。应用向数据库发送的SQL 语句最后就要由这些进程接收并执行。(1)专用服务器(dedicatedserver)连接,采用专用服务器连接时,会在服务器上得到针对这个连接的一个专用进程。数据库连接与服务器上的一个进程或线程之间存在一对一的映射。(2)共享服务器(sharedserver)连接,采用共享服务器连接时,多个会话可以共享一个服务器进程池, 其中的进程由Oracle 实例生成和管理。你所连接的是一个数据库调度器(dispatcher),而不是特意为连接创建的一个专用服务器进程。注意连接和会话之间的区别:(1)连接(connection)就是客户进程与Oracle 实例之间的一条物理路径(例如,客户与实例之间的一个网络连接)。(2)会话(session)则不同,这是数据库中的一个逻辑实体,客户进程可以在会话上执行SQL 等。多个独立的会话可以与一个连接相关联,这些会话甚至可以独立于连接存在。专用服务器进程和共享服务器进程的任务是一样的:要处理你提交的所有SQL。当你向数据库提交一个SELECT * FROM EMP 查询时,会有一个Oracle 专用/共享服务
3、器进程解析这个查询,并把它放在共享池中(或者最好能发现这个查询已经在共享池中)。这个进程要提出执行计划,如果必要,还要执行这个执行计划,可能在缓冲区缓存中找到必要的数据,或者将数据从磁盘读入缓冲区缓存中。这些服务器进程是干重活的进程。在很多情况下,你都会发现这些进程占用的系统CPU 时间最多,因为正是这些进程来执行排序、汇总、联结等等工作,几乎所有工作都是这些进程做的。专用服务器连接在专用服务器模式下,客户连接和服务器进程(或者有可能是线程)之间会有一个一对一的映射。如果一台UNIX 主机上有100 条专用服务器连接,就会有相应的100 个进程在执行。可以用图来说明,如图5-1 所示。客户应用中链接着Oracle 库,这些库提供了与数据库通信所需的API。这些API 知道如何向数据库提交查询,并处理返回的游标。它们知道如何把你的请求打包为网络调用,专用服务器则知道如何将这些网络调用解开。这部分软件称为Oracle Net,不过在以前的版本中可能称之为SQL*Net 或Net8。这是一个网络软件/协议,Oracle 利用这个软件来支持客户/服务器处理(即使在一个n 层体系结构中也会“潜伏
4、”着客户/服务器程序)。不过,即使从技术上讲没有涉及Oracle Net,Oracle 也采用了同样的体系结构。也就是说,即使客户和服务器在同一台机器上,也会采用这种两进程(也称为两任务)体系结构。这个体系结构有两个好处:(1)远程执行(remoteexecution):客户应用可能在另一台机器上执行(而不是数据库所在的机器),这是很自然的。(2)地址空间隔离(addressspace isolation):服务器进程可以读写SGA。如果客户进程和服务器进程物理地链接在一起,客户进程中一个错误的指针就能轻松地破坏SGA 中的数据结构。共享服务器连接共享服务器连接强制要求必须使用Oracle Net,即使客户和服务器都在同一台机器上也不例外。如果不使用OracleTNS 监听器,就无法使用共享服务器。如前所述,客户应用会连接到Oracle TNS 监听器,并重定向或转交给一个调度器。调度器充当客户应用和共享服务器进程之间的“导管”。图5-2 显示了与数据库建立共享服务器连接时的体系结构。在此可以看到,客户应用(其中链接了Oracle 库)会与一个调度器进程物理连接。对于给定的实例,可以配
《Oracle数据库进程之服务器进程详解》由会员人***分享,可在线阅读,更多相关《Oracle数据库进程之服务器进程详解》请在金锄头文库上搜索。
大学生旷课睡觉检讨书(11篇)
公司统计员工个人工作总结(2篇).doc
围绕青春为话题作文
船舶轴系校中工艺
继电保护题库
从医疗的法律改革看中国法的趋向及其对市场的影响
人居环境论文
村务公开自查情况汇报
开学第一课少年强中国强观后感原创素材400字【6篇】
四年级上德育工作总结
理财顾问部年终总结范文(3篇).doc
九年级化学上册第二单元我们周围的空气课题1空气第2课时纯净物和混合物保护空气能力进阶真题汇编课时练新人教版
非平稳信号分析与处理
高一物理弹力、摩擦力习题课
冬残奥会总结表彰大会观后感心得(2篇).doc
房地产公司财务部部长职位说明书完整版
世界地球日——语言:垃圾的悄悄话
最新2022年上半年全国英语等级考试5级(PETS-5)
集中供热工程换热站专用控制系统设计及控制方案
徽县计量数字化转型项目可行性研究报告
2022-09-11 6页
2022-07-31 33页
2022-12-21 4页
2023-02-16 32页
2023-05-27 5页
2023-12-09 2页
2023-06-05 17页
2023-12-17 6页
2022-08-16 6页
2023-05-15 7页