oracle的體系

oracle的體系很龐大,要學(xué)習(xí)它,首先要了解oracle的框架。在這里,簡要的講一下oracle的架構(gòu),讓初學(xué)者對oracle有一個(gè)整體的認(rèn)識。

1、物理結(jié)構(gòu)(由控制文件、數(shù)據(jù)文件、重做日志文件、參數(shù)文件、歸檔文件、密碼文件組成)

控制文件:包含維護(hù)和驗(yàn)證數(shù)據(jù)庫完整性的必要信息、例如,控制文件用于識別數(shù)據(jù)文件和重做日志文件,一個(gè)數(shù)據(jù)庫至少需要一個(gè)控制文件

數(shù)據(jù)文件:存儲數(shù)據(jù)的文件

重做日志文件:含對數(shù)據(jù)庫所做的更改記錄,這樣萬一出現(xiàn)故障可以啟用數(shù)據(jù)恢復(fù)。一個(gè)數(shù)據(jù)庫至少需要兩個(gè)重做日志文件,參數(shù)文件:定義Oracle例程的特性,例如它包含調(diào)整SGA中-

些內(nèi)存結(jié)構(gòu)大小的參數(shù)

歸檔文件:是重做日志文件的脫機(jī)副本,這些副本可能對于從介質(zhì)失敗中進(jìn)行恢復(fù)很必要。

密碼文件:認(rèn)證哪些用戶有權(quán)限啟動和關(guān)閉Oracle例程2、邏輯結(jié)構(gòu)(表空間、段、區(qū)、塊)

表空間:是數(shù)據(jù)庫中的基本邏輯結(jié)構(gòu),一系列數(shù)據(jù)文件的集合。

段:是對象在數(shù)據(jù)庫中占用的空間

區(qū):是為數(shù)據(jù)一次性預(yù)留的一個(gè)較大的存儲空間塊:ORACLE最基本的存儲單位,在建立數(shù)據(jù)庫的時(shí)候指定3、內(nèi)存分配(SGA和PGA)

SGA:是用于存儲數(shù)據(jù)庫信息的內(nèi)存區(qū),該信息為數(shù)據(jù)庫進(jìn)程所共享。它包含Oracle服務(wù)器的數(shù)據(jù)和控制信息,它是在Oracle服務(wù)器所駐留的計(jì)算機(jī)的實(shí)際內(nèi)存中得以分配,如果實(shí)際內(nèi)存不夠再往虛擬內(nèi)存中寫。

PGA:包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺進(jìn)程的數(shù)據(jù)和控制信息與幾個(gè)進(jìn)程共享的SGA正相反PGA是只被一個(gè)進(jìn)程使用的區(qū)域PGA在創(chuàng)建進(jìn)程時(shí)分配在終止進(jìn)程時(shí)回收4、后臺進(jìn)程(數(shù)據(jù)寫進(jìn)程、日志寫進(jìn)程、系統(tǒng)監(jiān)控、進(jìn)程監(jiān)控、檢查點(diǎn)進(jìn)程、歸檔進(jìn)程、服務(wù)進(jìn)程、用戶進(jìn)程)

數(shù)據(jù)寫進(jìn)程:負(fù)責(zé)將更改的數(shù)據(jù)從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入數(shù)據(jù)文件

日志寫進(jìn)程:將重做日志緩沖區(qū)中的更改寫入在線重做日志文件系統(tǒng)監(jiān)控:檢查數(shù)據(jù)庫的一致性如有必要還會在數(shù)據(jù)庫打開時(shí)啟

動數(shù)據(jù)庫的恢復(fù)

進(jìn)程監(jiān)控:負(fù)責(zé)在一個(gè)Oracle進(jìn)程失敗時(shí)清理資源

檢查點(diǎn)進(jìn)程:負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在

數(shù)據(jù)庫中時(shí),更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息。歸檔進(jìn)程:在每次日志切換時(shí)把已滿的日志組進(jìn)行備份或歸檔服務(wù)進(jìn)程:用戶進(jìn)程服務(wù)。

用戶進(jìn)程:在客戶端,負(fù)責(zé)將用戶的SQL語句傳遞給服務(wù)進(jìn)程并從服務(wù)器段拿回查詢數(shù)據(jù)。

5,oracle 例程:Oracle例程由SGA 內(nèi)存結(jié)構(gòu)和用于管理數(shù)據(jù)庫的后臺進(jìn)程組成。例程一次只能打開和使用一個(gè)數(shù)據(jù)庫。

6,SCN(System Change Number):系統(tǒng)改變號,一個(gè)由系統(tǒng)內(nèi)部維護(hù)的序列號。當(dāng)系統(tǒng)需要更新的時(shí)候自動增加,他是系統(tǒng)中維持?jǐn)?shù)據(jù)的一致性和順序恢復(fù)的重要標(biāo)志。

深入學(xué)習(xí)

管理:可以考OCP證書,對oracle先有一個(gè)系統(tǒng)的學(xué)習(xí),然后看Oracle Concepts,oracle online document,對 oracle 的原理會有更深入的了解,同時(shí)可以開始進(jìn)行一些專題的研究如:RMAN、RAS、STATSPACT,DATAGUARD,TUNING,BACKUP&RECOVER 等等。

開發(fā):對于想做Oracle開發(fā)的,在了解完Oracle基本的體系結(jié)構(gòu)之后,可以重點(diǎn)關(guān)注 PL/SQL及Oracle的開發(fā)工具這一部分。

PL/SQL 主要是包括怎么寫SQL語句,怎么使用Oracle本身的函數(shù)怎么寫存儲過程、存儲函數(shù)、觸發(fā)器等。Oracle的開發(fā)工具主要就是Oracle 自己的 Developer Suite(Oracle Forms Developer and Reports Developer 這些),學(xué)會如何熟練使用這些工具。

友情鏈接

Back to top