專用伺服器連線(dedicated server
):採用專用伺服器連線時,會在伺服器上得到針對這個連線的乙個專用程序。客戶連線與伺服器程序/
執行緒之間存在一對一的對映。這是應用連線
oracle
資料庫的最常用的方法,採用這個方式不用什麼配置。
共享伺服器(shared server):
採用共享伺服器連線時,多個會話可以共享乙個伺服器程序池,其中的伺服器程序由oracle
例項生成和管理。你所連線的是乙個資料庫排程程式(
dispatcher
),而不是特意為連線建立的乙個專用伺服器程序,排程程式負責從客戶應用接受入站請求,並把它們放入
sgauga
。共享伺服器處理這個請求,把得到的輸出放在相應佇列中。排程程式一直監視著響應佇列來得到結果,並把結果返回給客戶應用。
如何配置共享伺服器模式:
1.利用oracle
自帶的database configuration assistant
工作進行配置共享服務模式。
2.修改連線模式為靜態監聽
什麼時候適合使用專用伺服器模式:
因為存在一對一的對映,所以不必擔心長時間執行的事務會阻塞其他事務。其他事務通過其自己的專用程序來處理。因此,在非oltp
環境中,也就是可能有長時間執行事務的情況下們應該只考慮這種模式。
什麼時候適合使用共享伺服器模式:
首先共享伺服器是一種共享資源,使用共享資源時,必須當心,不要長時間的占用這個資
源,若果獨佔了共享伺服器資源,會導致系統看上去掛起來一樣。例如三個客戶在兩個共享伺服器中試圖執行乙個45s
的程序,那麼其中兩個會在
45s內得到響應,而第三個程序需要
90s後才會得到響應。
共享伺服器的原則:要確保事務的持續時間盡量短,事務可以頻繁執行,但必須在短時間內執行完(
這是oltp
系統的特點
)。如果事務持續時間很長,這樣共享資源被少數程序獨佔著,整個系統就像掛起來一樣。
使用共享伺服器,還有可能造**工死鎖,例如有5
個共享伺服器,並建立了
100個會話,現在在乙個時間點上最多可以有
5個使用者會話還是活動的,假如其中乙個會話更新了一行,但沒有提交,然後可能又有
5個使用者會話力圖鎖住這一行,當然這個五個會話會被阻塞。
這時,原來的使用者會話試圖提交事務,但發現所有的共享伺服器已經被那5
個會話壟斷,這樣就出現了人工死鎖。鎖的擁有者永遠也拿不到共享伺服器來提交。
基於上面的原因,共享伺服器只適用於oltp
系統,這種系統的特點是短而頻繁。而資料倉儲不適用。如果你的系統
90%是
oltp
,10%
是資料倉儲,那麼可以在乙個例項上適當地混合適用專用伺服器模式和共享伺服器模式。這樣可以大大減少機器上針對
oltp
使用者的伺服器程序個數,並使得「
olap
」的使用者不會獨佔共享伺服器。
共享伺服器的潛在好處:
1.減少作業系統執行緒/
程序2.
刻意地限制併發度
3.減少系統所需的記憶體
總結:
除非你的系統負載過重,或者需要為乙個特定的特性使用共享伺服器,否則專用伺服器可能最適合。
如果使用者群很大,而且知道要部署共享伺服器,建議先開發並測試這個共享伺服器,要對系統進行壓力測試,建立基準測試,確保應用使用共享伺服器能很好的工作。
Oracle專用伺服器 共享伺服器監聽原理
一 專用伺服器和共享伺服器 1.1 原理 專有伺服器 專有伺服器模式中,使用者程序執行在客戶端的機器,專有伺服器程序執行在資料庫伺服器端的機器。使用者程序和專有伺服器程序是兩種不同型別的程序。當客戶端發出連線資料庫請求的時候,吧客戶端連線到專有伺服器程序。即使這個服務程序很空閒,這個專有伺服器進行也...
oracle專用伺服器模式與共享伺服器模式
一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。如果使用專用伺服器模式,則每個使用者連線資料庫時,每個使用者程序需要他自己的專用伺服器程序。也就是說,客戶端程...
oracle 專用伺服器模式與共享伺服器模式詳解
一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。採用共享伺服器模式的話,則多個使用者可以共用乙個伺服器程序,也就是說,此時客戶端程序與伺服器程序是多對一的情況...