關於專用和共享伺服器程序

2022-04-09 07:13:14 字數 1715 閱讀 4756

oracle資料庫建立伺服器程序來處理連線到例項的使用者程序的請求。伺服器程序可以是以下任一種:

您的資料庫始終啟用以允許專用的伺服器程序,但您必須通過設定乙個或多個初始化引數來專門配置和啟用共享伺服器。

專用伺服器程序

圖5-1「oracle資料庫專用伺服器程序」說明了專用伺服器程序如何工作。在該圖中,兩個使用者程序通過專用伺服器程序連線到資料庫。

通常,最好通過排程程式進行連線並使用共享伺服器程序。如圖5-2「oracle資料庫共享伺服器程序」所示。共享伺服器程序可以更高效,因為它可以使執行例項所需的程序數量保持較低。

但是,在以下情況下,使用者和管理員應該使用專用伺服器程序顯式連線到例項:

當oracle資料庫配置為共享伺服器時如果要請求專用伺服器連線,使用者必須使用配置為使用專用伺服器的網路服務名稱進行連線。具體來說,網路服務名稱值應該包含連線描述符中的server = dedicated子句。

有關請求專用伺服器連線的更多資訊,請參閱「oracle database net services管理員指南」

共享伺服器程序考慮乙個具有專用伺服器程序的訂單輸入系統。客戶打**給訂單櫃檯並發出訂單,接聽**的店員將訂單輸入資料庫。對於大部分交易,店員正在通過**與客戶交談。在此期間不需要伺服器程序,因此專用於店員使用者程序的伺服器程序保持空閒狀態。系統對於其他店員輸入訂單的速度較慢,因為空閒伺服器程序持有系統資源。

共享伺服器體系結構消除了每個連線的專用伺服器程序的需求(請參見圖5-2)。

在共享伺服器配置中,客戶端使用者程序連線到排程程式。排程員可以同時支援多個客戶端連線。每個客戶端連線都繫結到乙個虛擬電路,該虛擬電路是排程程式用於客戶端資料庫連線請求和答覆的一段共享記憶體。當請求到達時,排程員將虛擬電路放在公共佇列中。

空閒的共享伺服器程序從公用佇列中拾取虛擬電路,為請求提供服務,並放棄虛擬電路,然後嘗試從公共佇列中檢索另乙個虛擬電路。這種方法可以讓一小部分伺服器程序為大量客戶端提供服務。與專用伺服器模型相比,共享伺服器體系結構的乙個顯著優勢是減少了系統資源,從而支援更多使用者。

為了更好的資源管理,可以將共享伺服器配置為連線池。通過連線池,分派器可以支援更多使用者,方法是啟用資料庫伺服器超時協議連線並使用這些連線為活動會話提供服務。此外,可以配置共享伺服器進行會話多路復用,它將多個會話組合在一起,以便通過單個網路連線進行傳輸,以節省作業系統的資源。

共享伺服器體系結構需要oracle net services。以共享伺服器為目標的使用者程序必須通過oracle網路服務進行連線,即使它們與oracle資料庫例項在同乙個系統上。

oracle資料庫網路服務管理員指南「中有關共享伺服器的更多詳細資訊,包括連線池和會話復用等功能

參考資料

Oracle 共享伺服器與專用伺服器

專用伺服器連線 dedicated server 採用專用伺服器連線時,會在伺服器上得到針對這個連線的乙個專用程序。客戶連線與伺服器程序 執行緒之間存在一對一的對映。這是應用連線 oracle 資料庫的最常用的方法,採用這個方式不用什麼配置。共享伺服器 shared server 採用共享伺服器連線...

Oracle專用伺服器 共享伺服器監聽原理

一 專用伺服器和共享伺服器 1.1 原理 專有伺服器 專有伺服器模式中,使用者程序執行在客戶端的機器,專有伺服器程序執行在資料庫伺服器端的機器。使用者程序和專有伺服器程序是兩種不同型別的程序。當客戶端發出連線資料庫請求的時候,吧客戶端連線到專有伺服器程序。即使這個服務程序很空閒,這個專有伺服器進行也...

共享伺服器模式和專用伺服器模式的識別

oracle啟用共享伺服器模式後,還能改回專用伺服器模式嗎?解決 最主要的是3個引數 shared servers max shared servers dispatchers 如果shared servers 0,則資料庫會執行在dedicated模式下。如果shared servers 0,資料...