熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

建立與Oracle服務器連接的兩種連接模式

2013-11-13 22:15:30  來源: Oracle 

  在建立Oracle數據庫的時候應該會在數據庫建立助手向導上面看到這麼一個選項就是數據庫的連接模式采用什麼方式在Oraclei或者g中可以看到有種連接模式一種叫做專用服務器連接(dedicated server) 另外一種叫做共享服務器連接(shared server)下面我們來分類說一下這兩種連接方式的不同點

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

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

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


From:http://tw.wingwit.com/Article/program/Oracle/201311/18617.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.