24周年

財稅實務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠
安卓版本:8.7.11 蘋果版本:8.7.11
開發(fā)者:北京正保會計科技有限公司
應(yīng)用涉及權(quán)限:查看權(quán)限>
APP隱私政策:查看政策>

建立與Oracle數(shù)據(jù)庫連接模式的兩種方式

來源: CIO時代 編輯: 2009/10/15 09:48:46  字體:

  在建立Oracle數(shù)據(jù)庫的時候,應(yīng)該會在數(shù)據(jù)庫建立助手向?qū)厦婵吹竭@么一個選項,就是數(shù)據(jù)庫的連接模式采用什么方式。

  在建立Oracle數(shù)據(jù)庫的時候,應(yīng)該會在數(shù)據(jù)庫建立助手向?qū)厦婵吹竭@么一個選項,就是數(shù)據(jù)庫的連接模式采用什么方式。在Oracle9i或者10g中,可以看到有2種連接模式,一種叫做專用服務(wù)器連接(dedicated server) ,另外一種叫做共享服務(wù)器連接(shared server)。下面我們來分類說一下這兩種連接方式的不同點。

  專用服務(wù)器模式就是說每次在對Oracle進行訪問的時候,Oracle服務(wù)器的Listener會得到這個訪問請求,然后回為這個訪問創(chuàng)建一個新的進程來進行服務(wù)。所以說,對于每一個客戶端的訪問,都會生成一個新的進程進行服務(wù),是一種類似一對一的映射關(guān)系。這種連接模式的一個很重要的特點就是UGA(用戶全局域)是存儲在PGA(進程全局域)中的,這個特性也很好說明了當(dāng)前用戶的內(nèi)存空間是按照進程來進行分配的。

  而另外的共享服務(wù)器連接則是一種在程序編寫的時候通常會用到的連接池(pool)的概念。采用這種模式的話,在數(shù)據(jù)庫的初始化的時候就會創(chuàng)建一批服務(wù)器連接的進程,然后把這些連接進程放入一個連接池來進行管理。初始化的池中的進程數(shù)量在數(shù)據(jù)庫初始化建立的時候是可以手動設(shè)置的。在連接建立的時候,Listener首先接受到客戶端的建立連接的請求,然后Listener去生成一個叫做調(diào)度器(dipatcher)的進程與客戶端進行連接。調(diào)度器把把客戶端的請求放在SGA(系統(tǒng)全局域)的一個請求隊列中,然后再共享服務(wù)器連接池中查找有無空閑的連接,然后讓這個空閑的服務(wù)器進行處理。處理完畢以后再把處理結(jié)果放在SGA的相應(yīng)隊列中。調(diào)度器通過查詢相應(yīng)隊列,得到返回結(jié)果,再返回給客戶端。這種連接模式的優(yōu)點在于服務(wù)器進程的數(shù)量可以得到控制,不大可能出現(xiàn)因為連接人數(shù)過多而造成服務(wù)器內(nèi)存崩潰。但是由于增加了復(fù)雜度以及請求相應(yīng)隊列,可能性能上有所下降。

  總之,在開發(fā)階段中,用第一種專用服務(wù)器可能好一些,因為少了一些中間的復(fù)雜度,而且開發(fā)的時候一般連接的數(shù)量也少。而在多個應(yīng)用同時使用一個數(shù)據(jù)庫的實際應(yīng)用環(huán)境下,采用第二種方法可能好一些,因為如果到時候突然有1000個或者10000個請求連接的話,數(shù)據(jù)庫服務(wù)器如果同時建立10000個連接,肯定要受不了的。當(dāng)然,也要看到時候的實際情況如何再做決定,兩者沒有絕對的哪種好哪種不好的差別。

責(zé)任編輯:zoe

實務(wù)學(xué)習(xí)指南

回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - www.odtgfuq.cn All Rights Reserved. 北京正保會計科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號-7 出版物經(jīng)營許可證 京公網(wǎng)安備 11010802044457號