My Oracle Notes(2):User Process,Server Process和Background Process

   Oracle 系统中的各种进程可以被分为两大类:

   1.执行应用程序或 Oracle 工具代码的用户进程(user process)。

   2.执行 Oracle 数据库服务器代码的 Oracle 进程(Oracle process)。其中包括服务进程(server process)和后台进程(background process)。

    Soccer Ball什么是User Process呢?

     当用户运行一个应用程序同Oracle数据库进行交互(例如 Pro*C 程序)或 Oracle 工具(例如企业管理器或 SQL*Plus)时,Oracle 将创建一个用户进程(user process)来运行用户的应用程序。

 

   Soccer Ball什么是Server Process呢?

    Server Process是用来处理连接到实例的用户进程(User Process)提交的请求。当应用程序与Oracle服务器运行在同一台机器上时,某些用户进程(User Process)可以与Server Process合并为同一个进程,即便减小系统开销。从逻辑层面来讲,用户进程必须要通过一个Server Process来同Oracle进行通信的.(只不过有些时候在同一台机器的时候,某些User Process和Server Process会合并罢了)

    为用户应用程序创建的Server Process(或User Process和Server Process合并后的进程)可以完成以下工作:

    (1)解析和运行应用程序提交的SQL语句.

    (2)如果数据没有在SGA中找到,则将所需的数据块从磁盘上数据文件读入到SGA的数据缓冲区(Shared Database Buffers).

    (3)以应用程序能够处理的形式返回SQL语句的执行结果.

 

   Soccer Ball什么是Backgroud Process呢?

     为了实现为多用户提供服务且保证系统性能,在一个多进程的Oracle系统中,存在多个被称为后台进程(Background)的Oracle进程.

    一个Oracle实例中可以包含多种后台进程,这些进程不一定全部一直处于运行状态。系统中运行的后台进程数量众多,用户可以通过V$BGPROCESS视图查询关于后台进程的信息。

    Oracle实例中可能运行的后台进程有:

     (1)数据写入进程Database Writer Process(DBWn)

     (2)日志写入进程Log Writer Process(LGWR)

     (3)检查点进程Checkpoint Process(CKPT)

     (4)系统监控进程System Monitor Process(SMON)

     (5)进程监控进程Process Monitor Process(PMON)

     (6)回复进程Recoverer Process(RECO)

     (7)作业队列进程Job Queue Process

     (8)归档进程Archiver Process(ARCn)

     (9)队列监控进程Queue Monitor Process(QMNn)

     (10)其他后台进程包括:MMON,MMNL,MMAN,RBAL,ORBn,OSMB等.

      其中DBWn,PMON,CKPT,LGWR,SMON是一个实例启动后,必须要启动的进程.

      下图显示了主要的几个后台进程如何与 Oracle 数据库的各部分交互:

     

     

 

 

 

 

posted @ 2009-10-11 00:33  Chris Wang  阅读(953)  评论(0编辑  收藏  举报