一、共用伺服器模式。
共用伺服器模式,也叫做多線程伺服器模式。在這種模式下,Oracle資料庫允許多個使用者進程共用非常少的伺服器處理序。所以,可以同時實現使用者並發訪問的人數也就大大的增加。如果使用專用伺服器模式,則每個使用者串連資料庫時,每個使用者進程需要他自己的專用伺服器處理序。也就是說,用戶端進程與伺服器端進程是一一對應的。
而如果採用共用伺服器模式的話,則多個使用者可以共用一個伺服器處理序,也就是說,此時用戶端進程與伺服器處理序是多對一的情況。這主要是通過發送器來實現的。發送器將多個加入資料庫訪問會話請求指引到一個共用隊列。伺服器處理序共用池中某個閑置的共用伺服器處理序依次從隊列中獲得一個請求。也就是說,一個很小的伺服器處理序共用池可以為大量的客戶機提供服務。
共用伺服器的優缺點可以利用兩句話概括。優點是用戶端進程多對一,增加了資料庫可以支援的使用者數。缺點就是各個使用者共用一個進程,對使用者訪問資料庫的效能有所影響。
具體的來說,在以下應用情景下,可以選擇採用共用伺服器模式。
1、 前台用戶端數量比較多。
當大量使用者需要串連到資料庫並且需要有效使用可用的系統資源的時候,則需要考慮採用共用伺服器模式。具體的來說,像現在採用的一些用戶端/伺服器端模式的網路應用軟體,如ERP系統等等。一方面因為使用者人數比較多;另一方面企業由於資金有限,所以購置的是一般的伺服器。這些伺服器由於硬體方面的一些限制,如資料庫系統與前台應用伺服器採用統一台伺服器。所以往往要求資料庫能夠充分使用硬體資源,以減少兩者之間的衝突。
在這種情況下,往往採用共用式的伺服器模式,比較合適。
2、 伺服器記憶體限制比較大。
共用伺服器模式下,當串連使用者增加時,其記憶體使用量率增加不會很多。因為他們共用一個伺服器處理序。所以,從這一個角度講,共用伺服器模式可以減少記憶體的使用。但在專用伺服器模式下,記憶體的使用幾乎與使用者的數量成比例增加。
所以,使用者若在一些老的伺服器上部署Oracle資料庫的話,因為其主板對記憶體的升級有所限制,所以,為了得到一個不錯的資料庫效能,往往採用共用伺服器模式。如此,即時同時訪問資料庫的使用者有所增加,其記憶體也不會有多大的影響。可以大大的降低記憶體的壓力。
3、 某些特定功能要求採用共用伺服器模式。
雖然說,共用伺服器模式與專用伺服器模式在大部分情況下,都是通用的,支援Oracle資料庫系統的大部分功能。但是,某一些特定的功能,仍然需要資料庫管理員在共用伺服器模式下,才能夠啟用。比較典型的,如Oracle資料庫伺服器的串連共用、串連集中與負載平衡技術等等。他們必須在共用模式下才能夠運行。
負載平衡用來在群集環境下實現多機共用資料庫,以保證應用的高可用性。同時可以自動實現平行處理以及均分負載,還能夠實現資料庫在故障時的容錯和無斷點恢複。所以,在一些對於效能與穩定性要求比較高的應用情境中,如銀行中,往往都會採用負載平衡技術。此時,資料庫管理員在設定資料庫的時候,就需要考慮採用共用伺服器模式。