ITPub博客

首页 > 数据库 > Oracle > Overview of Server Processes

Overview of Server Processes

翻译 Oracle 作者:wanghanjun 时间:2015-12-28 13:21:53 0 删除 编辑
原始链接:http://docs.oracle.com/database/121/CNCPT/process.htm#CNCPT9838

Oracle Database creates server processes to handle the requests of client processes connected to the instance. A client process always communicates with a database through a separate server process.
Oracle数据库创建服务器进程用于处理来自客户段的请求.一个客户段进程会通过一个独立的服务器进程与数据库通信

Server processes created on behalf of a database application can perform one or more of the following tasks:
服务器进程作为数据库应用会处理如下的作业                                                    

  • Parse and run SQL statements issued through the application, including creating and executing the query plan (see "Stages of SQL Processing")
    解析和执行SQL包括创建和执行执行计划                                               

  • Execute PL/SQL code
    执行PL/SQL代码             

  • Read data blocks from data files into the database buffer cache (the DBW background process has the task of writing modified blocks back to disk)
    读取数据块到数据库缓存中. DBW后台进程会将以修改的数据库写入到磁盘中                                                                                      

Return results in such a way that the application can process the information
返回处理结果以便应用处理信息

Dedicated Server Processes 专用服务器进程      

In dedicated server connections, the client connection is associated with one and only one server process (see "Dedicated Server Architecture"). On Linux, 20 client processes connected to a database instance are serviced by 20 server processes.
在专用服务器连接环境中,一个客户端连接与服务器进程是一对一的关系,在Linux环境中,20个客户端连接将会对应20个服务器进程

Each client process communicates directly with its server process. This server process is dedicated to its client process for the duration of the session. The server process stores process-specific information and the UGA in its PGA (see "PGA Usage in Dedicated and Shared Server Modes").
没一个客户端进程与服务器进程直接连接,这个服务器进程专属与这个客户端服务.服务器进程保存了针对处理过程的信息和UGA的信息在PGA中

Shared Server Processes 共享服务器进程      

In shared server connections, client applications connect over a network to a dispatcher process, not a server process (see "Shared Server Architecture"). For example, 20 client processes can connect to a single dispatcher process.
在共享服务器连接环境中,客户端应用通过一个分发进程连接数据库.20个客户端进程可以连接一个分发进程

The dispatcher process receives requests from connected clients and puts them into a request queue in the large pool (see "Large Pool"). The first available shared server process takes the request from the queue and processes it. Afterward, the shared server places the result into the dispatcher response queue. The dispatcher process monitors this queue and transmits the result to the client.
分发进程受到来自客户端的请求并且把这些请求放入large pool里的请求队列里面.第一个可用的服务器进程会处理来自队列的信息.然后会将结果放入分发进程的响应队列中.分发进程监控这个队列和传输结果到客户端.

Like a dedicated server process, a shared server process has its own PGA. However, the UGA for a session is in the SGA so that any shared server can access session data.
相比较专用服务器继承,一个共享服务器有自己的PGA.但是,一个session的UGA是放在SGA里面以便与任何的共享服务器进程都能访问这些数据

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8747612/viewspace-1965856/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-05-28

  • 博文量
    42
  • 访问量
    32144