Shared Server Architecture (128)

tsinglee發表於2007-11-02

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連線的通道 , 然後介面卡程式給監聽程式一個
介面卡監聽的地址來響應連線請求 , 當使用者程式發出一個連線請求時 , 監聽程式檢查這個請求 ,
並且決定該使用者程式
是否能使用共享服務程式 , 如果可以 , 監聽程式將返回一個負載最少的地址 .
如果不可以 , 監聽程式將建立一個專有服務

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10599713/viewspace-980428/,如需轉載,請註明出處,否則將追究法律責任。

相關文章