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