資源描述:
《Oracle數(shù)據(jù)庫開發(fā)與實現(xiàn)——Oracle網(wǎng)絡(luò)配置》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三章Oracle網(wǎng)絡(luò)配置本章主要介紹Oracle的網(wǎng)絡(luò)組件與配置工具,通過學習同學們應(yīng)該熟練利用網(wǎng)絡(luò)配置工具進行服務(wù)器端與客戶端的數(shù)據(jù)庫網(wǎng)絡(luò)連接配置。本章學習目標:Oracle網(wǎng)絡(luò)服務(wù)組件Oracle網(wǎng)絡(luò)連接的基本概念服務(wù)器端網(wǎng)絡(luò)配置客戶端網(wǎng)絡(luò)配置(本地命名方式)1.1Oracle的網(wǎng)絡(luò)服務(wù)組件為了適應(yīng)大型企業(yè)網(wǎng)絡(luò)應(yīng)用的要求,Oracle網(wǎng)絡(luò)服務(wù)結(jié)構(gòu)在可連接性、可管理性、可擴展性以及網(wǎng)絡(luò)安全等方面均提供了完善的解決方案。組件一:OracleNetoraclenet是同時駐留在oracle服務(wù)器與客戶端上的一個
2、軟件層,它負責建立與維護客戶端應(yīng)用程序到數(shù)據(jù)庫服務(wù)器的連接。Oraclenet主要由兩層組成:Oraclenet基礎(chǔ)層:客戶端應(yīng)用程序與oraclenet基礎(chǔ)層進行通信,從而建立與維護到服務(wù)器的連接。Oraclenet基礎(chǔ)層再對Oracle協(xié)議支持層進行調(diào)用,從而利用工業(yè)標準的協(xié)議,如tcp/ip與數(shù)據(jù)庫服務(wù)器進行通信。Oracle協(xié)議支持層:為oraclenet基礎(chǔ)層提供基于工業(yè)標準協(xié)議的物理連接支持。組件二:Oraclenet監(jiān)聽器在oracle數(shù)據(jù)庫服務(wù)器中,通過一個稱為“oraclenet監(jiān)聽器”
3、的組件接收來自客戶端的初始連接請求,然后再將它交給服務(wù)器進行處理,一旦客戶端與服務(wù)器的連接已經(jīng)建立,客戶端和服務(wù)器即可直接通信,不再需要監(jiān)聽器的參與。(下圖所示是監(jiān)聽器的工作方式)監(jiān)聽器的響應(yīng)方式:專用服務(wù)器-監(jiān)聽器啟動新的服務(wù)進程BequeathSession連接過程詳解:①client使用設(shè)定的協(xié)議向Listener發(fā)送一個CONNECT包,建立與Listener的連接。②Listener檢查SID是否已經(jīng)被定義。如果已經(jīng)被定義,Listener將fork一個新的進程來處理此連接。一個Bequeath連
4、接就在Listener和新的服務(wù)器進程之間建立起來用于傳輸進程初始化信息。隨后,Bequeath連接將被關(guān)閉。注意,TCPsockets是被新的服務(wù)器進程繼承的。③服務(wù)器進程會給client發(fā)送一個RESEND包。④一個新的CONNECT包在此從client發(fā)送到fork產(chǎn)生的服務(wù)器進程⑤dedicated服務(wù)器進程接到新的連接包,會返回一個ACCEPT包給client。監(jiān)聽器的響應(yīng)方式:共享或?qū)S梅?wù)器-監(jiān)聽器把請求交調(diào)度器或服務(wù)進程RedirectSession連接過程詳解:①client使用設(shè)定的協(xié)議向
5、Listener發(fā)送一個CONNECT包,建立與Listener的連接。②Listener檢查SID是否定義過。如果定義過SID,Listener將產(chǎn)生一個新的線程或是進程給新的連接。一個IPC連接就被建立在Listener和新進程/線程之間。③新進程/線程從空閑user定義的ports中選一個作為新的TCP/IPport,并將該信息反饋給Listener。④Listener將此新的port插入到一個REDIRECT包中,并將其發(fā)送給client和之前client和Listener之間的TCPsocket。⑤一
6、個新的TCP連接將建立在REDIRECT包中指定的地址上。并且CONNECT包將發(fā)送到指定的dedicated服務(wù)器進程。⑥此時dedicated服務(wù)器進程最終接受連接請求,并發(fā)出ACCEPT包給client。對于sharedservers模式中,redirect方式建立的connection過程類似,只是在②中不會產(chǎn)生新的進程或是線程?;靖拍?listener(監(jiān)聽器)監(jiān)聽器是位于服務(wù)器端的一個后臺進程,它負責對客戶端傳入的連接請求進行監(jiān)聽,并且負責對服務(wù)器端的連接負荷進行調(diào)整。當客戶端試圖建立一個到服務(wù)
7、端的網(wǎng)絡(luò)會話時,首先是由監(jiān)聽器來處理實際的網(wǎng)絡(luò)請求的。組件三:網(wǎng)絡(luò)配置工具Oracle同時提供圖形化界面和命令行方式的網(wǎng)絡(luò)配置工具。包括:Oraclenetconfigurationassistant圖形化工具,通常在完成oracle數(shù)據(jù)庫服務(wù)器時會自動啟動,利用它可以完成基本的網(wǎng)絡(luò)(監(jiān)聽器)的配置工作。命令行配置工具LSNRCTL。對監(jiān)聽器進行配置、管理與監(jiān)視。Oraclenetmanager圖形化管理工具,提供對Oracle所有網(wǎng)絡(luò)組件進行詳細配置的集中化管理界面,DBA可對創(chuàng)建的監(jiān)聽器進行進一步的細致調(diào)整
8、和配置。1.2Oracle網(wǎng)絡(luò)連接的基本概念數(shù)據(jù)庫服務(wù)與數(shù)據(jù)庫實例標識對客戶端來說,一個oracle數(shù)據(jù)庫就是一個服務(wù),數(shù)據(jù)庫以提供服務(wù)的方式為客戶端完成某些特定的工作?;靖拍?服務(wù)名(servicename)服務(wù)名是數(shù)據(jù)庫的邏輯表示,對于客戶端來說就是數(shù)據(jù)庫的存在方式。一個數(shù)據(jù)庫可以具有多個服務(wù)名,一個服務(wù)名也可以通過多個數(shù)據(jù)庫實例來實現(xiàn)。在大部分情況下,數(shù)據(jù)庫的服務(wù)名就是它的