程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle體系結構理解(2)

Oracle體系結構理解(2)

編輯:Oracle教程

Oracle體系結構理解(2)


專用服務器與共享服務器   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文件。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved