DBAI 第一章 ORACLE體系結(jié)構(gòu)最新_第1頁(yè)
DBAI 第一章 ORACLE體系結(jié)構(gòu)最新_第2頁(yè)
DBAI 第一章 ORACLE體系結(jié)構(gòu)最新_第3頁(yè)
DBAI 第一章 ORACLE體系結(jié)構(gòu)最新_第4頁(yè)
DBAI 第一章 ORACLE體系結(jié)構(gòu)最新_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、最新 精品 Word 歡迎下載 可修改第一章 Oracle的體系架構(gòu) 這章理論比較多,可能有點(diǎn)枯燥。大家要打起精神。從本章開(kāi)始我們正式進(jìn)入DBA I,DBA是一個(gè)崗位的縮寫(database adminstrator),也就是數(shù)據(jù)庫(kù)管理員。要做一個(gè)稱職的DBA,需要全面和深入的了解ORACLE的內(nèi)部機(jī)制,包括ORACLE的實(shí)例(內(nèi)存結(jié)構(gòu)和后臺(tái)進(jìn)程)、ORACLE物理結(jié)構(gòu)、ORACLE邏輯結(jié)構(gòu)、ORACLE的安裝,ORACLE維護(hù)、ORACLE網(wǎng)絡(luò)配置、ORACLE備份與恢復(fù)、ORACLE高可用性(DG,RAC,流,高級(jí)復(fù)制)、ORACLE性能優(yōu)化。另外還需要了解操作系統(tǒng)的維護(hù)和管理知識(shí),存儲(chǔ)知

2、識(shí),HA的知識(shí)等。所以需要非常多的知識(shí)進(jìn)行串聯(lián)才能做一個(gè)合格的DBA。這些理論基礎(chǔ)上都是環(huán)環(huán)相扣,另外每個(gè)知識(shí)點(diǎn)還需要大量了實(shí)踐,來(lái)提升DBA的解決問(wèn)題的思維和能力。接下來(lái)我們的課先從ORACLE的核心組件學(xué)習(xí)。本章的主要內(nèi)容描述 Oracle 服務(wù)器的體系結(jié)構(gòu)及其主要組件列出將用戶連接到 Oracle 例程所涉及的結(jié)構(gòu)列出下列語(yǔ)句處理過(guò)程的各個(gè)階段:查詢DML 語(yǔ)句COMMITORACLE主要組件我們先來(lái)學(xué)習(xí)ORACLE的主要組件,來(lái)看一下ORACLE組件架構(gòu)圖。這是一張全景ORACLE核心組件框架圖。每個(gè)核心組件會(huì)有很多小的組件構(gòu)成,我們的DBA I就是來(lái)全面介紹每個(gè)核心組件的細(xì)節(jié)。了解每

3、個(gè)組件里面的細(xì)節(jié)確實(shí)不容易,這也是我們走向DBA的重中之重。ORACLE主要體系結(jié)構(gòu)包括左上部分是用戶進(jìn)程,服務(wù)器進(jìn)程右上部分是實(shí)例下面是數(shù)據(jù)庫(kù)庫(kù)文件我們先腦子里有這么個(gè)概念,接下來(lái)會(huì)用一些生活化的故事來(lái)了解ORACLE機(jī)制,了解ORACLE為什么設(shè)計(jì)出這樣一張圖。我們先來(lái)看什么是ORACLE服務(wù)ORACLE服務(wù)我們現(xiàn)在各行各業(yè)抓的都是服務(wù),有了好的服務(wù),顧客才會(huì)選擇它的產(chǎn)品。我們現(xiàn)在IT界非常流行一個(gè)SOA(面向服務(wù)的體系結(jié)構(gòu))的概念,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。上圖是一個(gè)SOA的實(shí)用例子。ORACLE也同樣提供了一個(gè)服務(wù),我們叫ORA

4、CLE SERVER,我們來(lái)看下面這張圖圖例 1一個(gè)ORACLE服務(wù)提供了開(kāi)放的完整性的信息管理系統(tǒng)。ORACLE服務(wù)由一個(gè)實(shí)例和一個(gè)數(shù)據(jù)庫(kù)組成。我們用一個(gè)生活中的例子來(lái)便于理解。大家都去過(guò)圖書館,它存放的數(shù)據(jù)就是書,這書可以被學(xué)生借來(lái)看,或者被學(xué)生買來(lái)看,也可能是被采購(gòu)員從外地采購(gòu)來(lái)。圖書館就是提供一個(gè)圖書買賣和借閱的數(shù)據(jù)庫(kù)系統(tǒng)。但是我們知道大型圖書館一個(gè)城市就一個(gè),學(xué)生們要想買書借書必須跑老遠(yuǎn)到圖書館去,那精明的商家都會(huì)在各自的街道開(kāi)有分店。比如我們所有的書籍都能在上海圖書館能買到,但是我們不用老遠(yuǎn)跑到上海圖書館去買,我可以在自己行政區(qū)的圖書館去買,比如靜安區(qū)靜安書城店。我們可以在靜安區(qū)開(kāi)

5、一家店叫靜安書城店,那如果靜安區(qū)的學(xué)生要買的書在靜安書城店如果有了,那就會(huì)馬上買到,因?yàn)閷W(xué)生離靜安書城店可比在黃浦區(qū)的上海圖書館近。如果該書在靜安書城店已經(jīng)售完,或在靜安書城店從來(lái)沒(méi)有進(jìn)過(guò)這本書,那就需要去上海圖書館去進(jìn)貨。書的買賣和借閱就好比DELETE,INSERT,SELECT。那靜安書城店會(huì)有各個(gè)崗位的人負(fù)責(zé)進(jìn)貨、銷售、庫(kù)存管理等工作,如何快速的進(jìn)貨也需要這個(gè)采購(gòu)員采用不同的規(guī)則。這個(gè)規(guī)則就好比我們的執(zhí)行計(jì)劃。所以我們看到上海圖書館和靜安書城店都是為學(xué)生服務(wù)的,這個(gè)就是SERVER(服務(wù))。我們這里看到上海圖書館就是我們的DATABASE庫(kù)文件,靜安書城店是我們的INSTANCE,它來(lái)

6、有效的管理維持書籍的采購(gòu)借閱和其它管理工作。那我們的ORACLE SERVER的概念是,一個(gè)ORACLE SERVER就是一個(gè)DATABASE 庫(kù)文件加上一個(gè)INSTANCE,也就是上海圖書館的靜安書城店提供的就是一個(gè)ORACLE SERVER。我們知道了什么是ORACLE服務(wù),那我們了解下什么是ORALCE實(shí)例。Oracle實(shí)例圖例 2我們現(xiàn)在就明白ORACLE INSTANCE是一個(gè)數(shù)據(jù)庫(kù)庫(kù)文件進(jìn)行實(shí)例化提供的服務(wù),而它也是我們體系結(jié)構(gòu)的核心。那實(shí)例它由什么組成呢?實(shí)例的組成一個(gè)實(shí)例只能訪問(wèn)一個(gè)數(shù)據(jù)庫(kù),但是你可以改變實(shí)例的初始化參數(shù)(如控制文件)來(lái)指向另一個(gè)數(shù)據(jù)庫(kù)。我們前面理解了靜安書城店

7、實(shí)例化一個(gè)上海圖書館,那也意味著我可以再開(kāi)一個(gè)分店,如黃浦區(qū)黃浦書城店,錄屬于上海圖書館,那就是第二個(gè)ORACLE服務(wù)。兩個(gè)書城店關(guān)聯(lián)同一個(gè)圖書館對(duì)外提供服務(wù),這就是RAC的概念,多個(gè)實(shí)例關(guān)聯(lián)一個(gè)數(shù)據(jù)庫(kù)。這時(shí)黃浦區(qū)的學(xué)生可以選擇黃浦書城店,也可以選擇靜安書城店提供的服務(wù),但是往往會(huì)選擇離自己近的,而且顧客不擁擠的書店,否則買書交費(fèi)都要排個(gè)長(zhǎng)隊(duì)。ORACLE也會(huì)選擇負(fù)載相對(duì)比較低的實(shí)例或者LISTENER,這叫負(fù)載均衡。如果一個(gè)店拆了,還可以到另一個(gè)店買東西,這在ORACLE中稱為FAILOVER。實(shí)例由內(nèi)存和后臺(tái)進(jìn)程組成那我們拿靜安書城店來(lái)舉例,店要開(kāi)張,我們需要租房子,每間房子有它特定的功能

8、,比如營(yíng)業(yè)廳、倉(cāng)庫(kù)、總經(jīng)理辦公室,這些房子在ORACLE中稱為內(nèi)存。有些房間也許是我們存放書籍的倉(cāng)庫(kù),也許是記錄采購(gòu)員采購(gòu)的歷史信息的采購(gòu)室。那要籌備這個(gè)店所需要盤下或者購(gòu)買的店面需要寫在籌備方案中,這個(gè)籌備方案在ORACLE中稱為初始化參數(shù)。 現(xiàn)在有了店,那店里是不是需要有不同崗位的管理人員來(lái)維持店的正常運(yùn)轉(zhuǎn)?這些勤勞的管理人員在ORACLE中就稱為后臺(tái)進(jìn)程。包括干輕活的ckpt干重活的dbwr而采購(gòu)員/售貨員在ORACLE中就稱為服務(wù)器進(jìn)程,來(lái)服務(wù)于學(xué)生。而學(xué)生在ORACLE中就稱為客戶端進(jìn)程。 我們理解了上面的例子,現(xiàn)在來(lái)總結(jié)下。我們知道ORACLE SERVER是提供了數(shù)據(jù)庫(kù)服務(wù):OR

9、ACLE SERVER = 1個(gè)DB + 1個(gè)INSTANCEINSTANCE = MEMORY + PROCESSRAC = N個(gè)ORACLE SERVER = 1個(gè)DB + N個(gè)INSTANCE有了這些概念,我們就好理解什么是共享服務(wù)器進(jìn)程,什么是SGA,什么是PGA,什么是UGA,什么是CGA,什么是CURSOR了。用戶連接請(qǐng)求我們知道學(xué)生要想買書,就會(huì)去書店找營(yíng)業(yè)員,或者打電話訂購(gòu),需要溝通書店的客服中心。當(dāng)學(xué)生和營(yíng)業(yè)員或者客服中心建立了連接,學(xué)生就可以提出自己想要做的事情,比如買某某書。ORACLE實(shí)例給用戶提供的服務(wù)也類似,用戶進(jìn)程發(fā)出請(qǐng)求,關(guān)聯(lián)LISTENER再與服務(wù)器進(jìn)程建立了

10、連接,或者用戶直接連接到服務(wù)器進(jìn)程。圖例 3上圖我們看到,用戶會(huì)發(fā)出請(qǐng)求到指定的服務(wù),這個(gè)用戶我們叫user process,也叫client process,是在客戶端的。用戶請(qǐng)求指定了服務(wù)(instance),指定了監(jiān)聽(tīng)地址,監(jiān)聽(tīng)地址的端口上檢查這個(gè)請(qǐng)求是否合法,是否屬于我服務(wù)的INSTANCE范圍內(nèi),如果合法,就在INSTANACE機(jī)器上建立服務(wù)器進(jìn)程。這就在user process和server process間建立了連接會(huì)話,會(huì)話是服務(wù)器進(jìn)程和客戶進(jìn)程間的。這好比,小麗要去靜安店買書,會(huì)有一個(gè)前臺(tái)驗(yàn)證你是否可以到這個(gè)店買書,是否有小麗要找的靜安書城店存在。如果可以,而且書店確實(shí)存在,

11、她會(huì)指派一個(gè)售貨員來(lái)服務(wù)小麗。這時(shí)候小麗和售貨員就建立了會(huì)話。這里詳細(xì)的過(guò)程我們將在DBA II網(wǎng)絡(luò)部分介紹。接下來(lái)售貨員會(huì)幫小麗去靜安店拿貨(內(nèi)存),如果貨沒(méi)有,就去上海圖書館進(jìn)貨。小麗和售貨員分別就是用戶進(jìn)程和服務(wù)器進(jìn)程。而那個(gè)前臺(tái)在ORACLE中稱為監(jiān)聽(tīng)程序。Oracle DB的組成我們接下來(lái)該了解最關(guān)心的業(yè)務(wù)數(shù)據(jù)存放的地方,那就是DB庫(kù)文件圖例 4我們看到DB是一組不同類型的文件集合它由三類文件組成第一類是文本離線文件,如上圖左邊的參數(shù)文件、口令文件(spfile是服務(wù)端的)第二類也是離線文件, 上圖右邊歸檔文件第三類是我們最關(guān)心的文件,DB在線文件,它按功能分如下幾種DATAFILE

12、CONTROLFILEREDOFILE這三種文件組成了DB在線文件這里涉及到DB的物理結(jié)構(gòu)和邏輯結(jié)構(gòu),我們?cè)诤竺娴恼n中會(huì)學(xué)習(xí)。Oracle物理結(jié)構(gòu)接下來(lái)學(xué)習(xí)ORACLE的物理結(jié)構(gòu),這里只是學(xué)習(xí)一些框架的知識(shí),詳細(xì)知識(shí)將在后面章節(jié)介紹。圖例 5ORACLE的物理結(jié)構(gòu)指的是OS里直接能查看到的文件,可以是文件系統(tǒng),可以是裸設(shè)備。但文件里的內(nèi)部邏輯數(shù)據(jù),只有ORACLE的命令才能查閱和修改。文件里的內(nèi)部邏輯數(shù)據(jù),只有ORACLE的命令才能查閱和修改。這句話我們應(yīng)該怎么理解? 比如一個(gè)txt文件,是不是一個(gè)OS級(jí)別的文件? 我們可以用notpad(windows系統(tǒng))命令或者vi(Linux系統(tǒng))命令

13、查詢編輯內(nèi)容。 Pfile是不是一樣? 但是Spfile, tablespace(XXX.dbf)的數(shù)據(jù)文件呢? Spfile大家是不能通過(guò)OS直接編輯的,spfile里的東東都是二進(jìn)制的。 同樣,tablespace的數(shù)據(jù)文件我們通過(guò)OS命令也是看不出任何內(nèi)容的,你用OS命令打開(kāi)全是二進(jìn)制亂碼,沒(méi)法看懂。 那tablespace里的數(shù)據(jù)怎么看?你只有登陸oracle后用select 命令查看或用insert 插入。 表就是種邏輯結(jié)構(gòu)。 文件里的內(nèi)部邏輯數(shù)據(jù),只有ORACLE的命令才能查閱和修改。就是這個(gè)意思。大家理解了吧?我們看到3組文件類型,他們的文件頭都有一些描述信息、狀態(tài)信息、一致性信

14、息和控制信息。這對(duì)備份和恢復(fù)及一致性事務(wù)操作至關(guān)重要。大家知道SCN嗎? SCN就是上面信息里的一部分,屬于一致性信息。這些文件可以存儲(chǔ)在本機(jī)磁盤(非RAC),也可以存儲(chǔ)在磁盤柜,甚至是共享存儲(chǔ)系統(tǒng)支持(RAC),稱為concurrent設(shè)備。好,我們小結(jié)下。ORACLE的物理結(jié)構(gòu)講的是什么概念?就是從OS角度看到的數(shù)據(jù)庫(kù)組成文件。Oracle內(nèi)存結(jié)構(gòu)那ORACLE服務(wù)中的另一塊核心就是實(shí)例,而談到實(shí)例就先要談到內(nèi)存。也就是你要為靜安區(qū)學(xué)生提供圖書服務(wù)而要開(kāi)一家靜安書店,你必須選好地址,把店的門面租下來(lái),這店的門面就是內(nèi)存。我們這章先不涉及怎么租這個(gè)門面,而是要了解要開(kāi)這家店至少要租下幾個(gè)門面

15、來(lái)完成各自的只能,而每個(gè)門面各自又有什么功能呢?好,我們看一下內(nèi)存結(jié)構(gòu)圖例 6內(nèi)存的組成內(nèi)存由SGA和PGA組成,分別代表系統(tǒng)全局區(qū)和進(jìn)程全局區(qū)。S可以理解成SYSTEM,也可以理解成SHARE。P可以理解成PROCESS,PRIVATE。所以S是共享的,P是私有的每個(gè)實(shí)例只有一個(gè)SGA,生命周期是實(shí)例,實(shí)例停止,SGA消亡。什么是實(shí)例?才講了的。 實(shí)例=ORACLE主內(nèi)存結(jié)構(gòu)(SGA) + 后臺(tái)進(jìn)程而整個(gè)實(shí)例有很多PGA,對(duì)應(yīng)的是進(jìn)程,一個(gè)進(jìn)程一個(gè)PGA,生命周期是進(jìn)程。進(jìn)程結(jié)束,則PGA消亡。我們的一個(gè)SQLPLUS會(huì)話是不是一個(gè)進(jìn)程? 是的你連了100個(gè)SQLPLUS,就出現(xiàn)了100個(gè)PGA,但是SGA就一個(gè)??梢栽趨?shù)文件里設(shè)置 process = XXX 來(lái)限制PGA的數(shù)量,其實(shí)就是進(jìn)程的數(shù)量。默認(rèn)是 150個(gè)進(jìn)程。SGA:系統(tǒng)全局區(qū),用于存儲(chǔ)數(shù)據(jù)庫(kù)信息的內(nèi)存區(qū),該信息為數(shù)據(jù)庫(kù)所有進(jìn)程所共享。它包含oracle服務(wù)器的數(shù)據(jù)和控制信息。PGA:程序全局區(qū),包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺(tái)進(jìn)程的數(shù)據(jù)和控制信息,與幾個(gè)進(jìn)程共享的SGA正好相反,PGA只被一個(gè)進(jìn)程使用,在進(jìn)程創(chuàng)建時(shí)分配,進(jìn)程終

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論