oracle database resident connection pooling(駐留串連池)

來源:互聯網
上載者:User

標籤:sid   resid   查看   分享   請求   根據   缺陷   流程   blog   

        oracle在11g中引入了database resident connection pooling(DRCP)。在此之前,我們可以使用dedicated 或者share 方式來連結資料庫,dedicated方式是oracle資料庫預設的連結方式,無需過多的配置,而且關於dedicated的bug也是非常少的,因此,通常情況下,建議使用dedicated方式來連結資料庫。但是,在伺服器資源有限,並且同時串連資料庫的使用者量非常大時,dedicated方式就無能為力了。假設並發使用者為5000,每個dedicated進程需要包含4m的記憶體,而每個sessioin佔用的記憶體量為400k,那麼我們總共需要21.43g的記憶體。這時我們可以採用share方式來串連資料庫,假設共用服務進程數量為100,則總共需要2.29g的記憶體,其中2g的記憶體配置自sga。但是shared串連方式由於存在過多的bug,而且為了使用shared方式,需要進行某些配置工作,因此,並不是我們希望採用的資料庫連接方式。

        在web橫行的今天,資料庫技術也面臨著的前所未有的挑戰。熟悉web技術的人員都知道,web是一種無狀態技術。使用者請求網頁,伺服器處理用請求,串連資料庫擷取資料並進行處理,斷開資料庫連接,展現網頁至使用者,這是一般網頁的處理流程,它具有資料庫連接時間短、頻繁串連資料庫、並發量大的特點。此時,人們引入了串連池技術,但是這些技術多數是在用戶端層面或者中介軟體層面實現的,具有如下缺陷“

        1.串連池多是單個獨立的節點,如果多個節點需要使用公用的資料庫連接,往往需要在各個節點獨自配置,這無疑會浪費資料庫資源

        2.串連池多數採用預分配的方式串連資料庫,因此在使用者壓力不大的情況下,同樣會持續保持資料庫連接,進而浪費了資料庫資源

         除此之外,在某些多進程,單線程的環境(如php)下,使用串連池技術基本是不可能的。

        DRCP的引入可以有效解決這些問題,DRCP將session和伺服器處理序捆綁在一起進行緩衝(pool server),使用者請求串連資料庫時,首先會串連到CONNECTION BROKER進程,broker進程根據串連資訊從串連池中選擇pool server,將其分配給請求使用者,此後,使用者直接和pool server通訊,broker不再參與其中,直至使用者中斷連線,將pool server歸還給串連池。

      

        同樣假設並發使用者數量為5000,pool server為100,DRCP所需記憶體為100 X (400 KB + 4 MB) + (5000 X 35KB)= 609.9 MB,其中(5000*35k)為broker記憶體,

     

        在11g中,已經預先安裝了DRCP,但預設情況下,並沒有啟用。啟用DRCP需要運行如下過程:

        exec dbms_connection_pool.start_pool;

       通過DBA_CPOOL_INFO視圖可以查看DRCP的啟用狀態。

 

SQL> select connection_pool,status from dba_cpool_info;CONNECTION_POOL            STATUS------------------------------ ------------------------------------------------SYS_DEFAULT_CONNECTION_POOL    INACTIVESQL> exec dbms_connection_pool.start_pool;PL/SQL 過程已成功完成。SQL> select connection_pool,status from dba_cpool_info;CONNECTION_POOL            STATUS------------------------------ ------------------------------------------------SYS_DEFAULT_CONNECTION_POOL    ACTIVE

 

oracle database resident connection pooling(駐留串連池)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.