Shared server architecture eliminates the need for a dedicated server process for each
connection. A dispatcher directs multiple incoming network session requests to a pool
of shared server processes. An idle shared server process from a shared pool of server
processes picks up a request from a common queue, which means a small number of
shared servers can perform the same amount of processing as many dedicated servers.
Also, because the amount of memory required for each user is relatively small, less
memory and process management are required, and more users can be supported.
A number of different processes are needed in a shared server system:
■ A network listener process that connects the user processes to dispatchers or
dedicated servers (the listener process is part of Oracle Net Services, not Oracle).
■ One or more dispatcher processes
■ One or more shared server processes
Shared server processes require Oracle Net Services or SQL*Net version 2.
When an instance starts, the network listener process opens and establishes a
communication pathway through which users connect to Oracle. Then, each
dispatcher process gives the listener process an address at which the dispatcher listens
for connection requests. At least one dispatcher process must be configured and
started for each network protocol that the database clients will use.
When a user process makes a connection request, the listener examines the request and
determines whether the user process can use a shared server process. If so, the listener
returns the address of the dispatcher process that has the lightest load, and the user
process connects to the dispatcher directly.
Some user processes cannot communicate with the dispatcher, so the network listener
process cannot connect them to a dispatcher. In this case, or if the user process requests
a dedicated server, the listener creates a dedicated server and establishes an
appropriate connection.
Oracle’s shared server architecture increases the scalability of applications and the
number of clients simultaneously connected to the database. It can enable existing
applications to scale up without making any changes to the application itself.
共享服务器需要以下进程:
1. 网络监听进程
2. 一个或多个适配器进程
3. 一个或多个共享服务进程
实例启动时 , 网络监听进程建立一个用户与Oracle连接的通道 , 然后适配器进程给监听进程一个
适配器监听的地址来响应连接请求 , 当用户进程发出一个连接请求时 , 监听进程检查这个请求 ,
并且决定该用户进程
是否能使用共享服务进程 , 如果可以 , 监听进程将返回一个负载最少的地址 .
如果不可以 , 监听进程将创建一个专有服务
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10599713/viewspace-980428/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10599713/viewspace-980428/