Oracle體繫結構理解(2)

來源:互聯網
上載者:User

標籤:oracle

專用伺服器與共用伺服器


1.專用伺服器

    在我登陸時,Oracle總是會為我建立一個新的進程來串連Oracle伺服器,這樣配置的伺服器叫做Oracle專用伺服器,這個產生的伺服器處理序會在SGA生存周期裡專門為我的請求服務。也就是說,每當我開啟一個會話,則會產生一個進程,會話與伺服器的對應關係是一對一的映射關係。

用戶端 --> 1521連接埠:監聽器 --> 產生進程 --> 串連執行個體 --> 資料庫

而執行個體是通過parameter檔案尋找control檔案的位置,來構建起與資料庫進行資料交換的橋樑的。

2.共用伺服器

    在共用伺服器當中,Oracle使用共用進程池來為大量的使用者提供服務(類似排隊的機制)。

    不像專用伺服器,我們不必每次為串連過來的用戶端專門開啟一個進程進行服務,如果我有10000個使用者同時訪問資料庫,那麼我們要開啟10000個進程,這會使得我的Oracle伺服器資源損耗巨大,甚至將伺服器壓垮。但是我在進程共用池裡開啟100個進程供所有使用者使用,系統在管理進程的時候,由於進程數不大,提高管理效率,而且不會由於負載過大而造成崩潰的狀態。

    但是為了有效管理這100個進程,需要引入一個新的概念叫做調度器來管理,當用戶端對伺服器進行訪問,監聽器收到用戶端請求,監聽器通過調度器瞭解到這100個進程中其中一個進程正在空閑當中,那麼就會回複用戶端哪個進程正在閑置並且進行訪問。然後訪問執行個體,進而訪問資料庫。

用戶端 --> 1521連接埠:監聽器 -->調用調度器 -->發現18888進程正在閑置 --> 回複用戶端通過18888進程進行訪問 --> 用戶端通過18888連接埠訪問執行個體 --> 資料庫

3.TNS透明網路底層

    tns是處理Oracle遠端存取的基本軟體,查看一下Oracle工作目錄下的tnsnames.ora,在$ORACLE_HOME/network/admin/下。查看一下內容:

    ORCL = 

        (    DESCRIPTION =

            (    ADDRESS =

                (    PROTOCOL = TCP)

                   ...

))

    這裡配置著用戶端要訪問哪個主機的哪個連接埠,使用哪一個執行個體來訪問底層資料庫。

    在Server端也會存放著Client端的相關資訊,類似於Linux的ssh服務ssh_know_hosts檔案。


該文章僅供技術參考,如有不足,盡請指正。謝謝。


Oracle體繫結構理解(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.