oracle專用伺服器與共享伺服器的區別
在建立oracle資料庫的時候,應該會在資料庫建立助手嚮導上面看到這麼乙個選項,就是資料庫的連線模式採用什麼方式。在oracle9i或者10g中,可以看到有2種連線模式,一種叫做 **專用伺服器連線(dedicated server)** ,另外一種叫做 **共享伺服器連線(shared server)**。下面我們來分類說一下這兩種連線方式的不同點。
專用伺服器模式就是說每次在對oracle進行訪問的時候,oracle伺服器的listener會得到這個訪問請求,然後回為這個訪問建立乙個新的程序來進行服務。所以說,對於每乙個客戶端的訪問,都會生成乙個新的程序進行服務,是一種類似一對一的對映關係。這種連線模式的乙個很重要的特點就是uga(使用者全域性域)是儲存在pga(程序全域性域)中的,這個特性也很好說明了當前使用者的記憶體空間是按照程序來進行分配的。
而另外的共享伺服器連線則是一種在程式編寫的時候通常會用到的連線池(pool)的概念。採用這種模式的話,在資料庫的初始化的時候就會建立一批伺服器連線的程序,然後把這些連線程序放入乙個連線池來進行管理。初始化的池中的程序數量在資料庫初始化建立的時候是可以手動設定的。在連線建立的時候,listener首先接受到客戶端的建立連線的請求,然後listener去生成乙個叫做排程器(dipatcher)的程序與客戶端進行連線。排程器把把客戶端的請求放在sga(系統全域性域)的乙個請求佇列中,然後再共享伺服器連線池中查詢有無空閒的連線,然後讓這個空閒的伺服器進行處理。處理完畢以後再把處理結果放在sga的相應佇列中。排程器通過查詢相應佇列,得到返回結果,再返回給客戶端。這種連線模式的優點在於伺服器程序的數量可以得到控制,不大可能出現因為連線人數過多而造成伺服器記憶體崩潰。但是由於增加了複雜度以及請求相應佇列,可能性能上有所下降。
總之,在開發階段中,用第一種專用伺服器可能好一些,因為少了一些中間的複雜度,而且開發的時候一般連線的數量也少。而在多個應用同時使用乙個資料庫的實際應用環境下,採用第二種方法可能好一些,因為如果到時候突然有1000個或者10000個請求連線的話,資料庫伺服器如果同時建立10000個連線,肯定要受不了的。當然,也要看到時候的實際情況如何再做決定,兩者沒有絕對的哪種好哪種不好的差別。
oracle專用伺服器模式與共享伺服器模式
一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。如果使用專用伺服器模式,則每個使用者連線資料庫時,每個使用者程序需要他自己的專用伺服器程序。也就是說,客戶端程...
oracle 專用伺服器模式與共享伺服器模式詳解
一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。採用共享伺服器模式的話,則多個使用者可以共用乙個伺服器程序,也就是說,此時客戶端程序與伺服器程序是多對一的情況...
oracle 專用伺服器模式與共享伺服器模式詳解
一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。採用共享伺服器模式的話,則多個使用者可以共用乙個伺服器程序,也就是說,此時客戶端程序與伺服器程序是多對一的情況...