Oracle架構(gòu)的基礎(chǔ)知識(shí)概述
在學(xué)習(xí)Oracle架構(gòu)的基礎(chǔ)知識(shí)(入門(mén)級(jí))的過(guò)程中,我建議你最好首要了解Oracle框架。只有這樣才能對(duì)Oracle有一個(gè)整體的更好的認(rèn)識(shí), 以下就是文章的詳細(xì)內(nèi)容介紹,望大家瀏覽完之后會(huì)有所收獲。
邏輯結(jié)構(gòu)(表空間、段、區(qū)、塊)
表空間:是數(shù)據(jù)庫(kù)中的基本邏輯結(jié)構(gòu),一系列數(shù)據(jù)文件的集合。
段:是對(duì)象在數(shù)據(jù)庫(kù)中占用的空間.
區(qū):是為數(shù)據(jù)一次性預(yù)留的一個(gè)較大的存儲(chǔ)空間.
塊:ORACLE最基本的存儲(chǔ)單位,在建立數(shù)據(jù)庫(kù)的時(shí)候指定.
Oracle框架, 內(nèi)存分配(SGA和PGA)
SGA:是用于存儲(chǔ)數(shù)據(jù)庫(kù)信息的內(nèi)存區(qū),該信息為數(shù)據(jù)庫(kù)進(jìn)程所共享。它包含Oracle 服務(wù)器的數(shù)據(jù)和控制信息,它是在Oracle服務(wù)器所駐留的計(jì)算機(jī)的實(shí)際內(nèi)存中得以分配,如果實(shí)際內(nèi)存不夠再往虛擬內(nèi)存中寫(xiě)。
PGA:包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺(tái)進(jìn)程的數(shù)據(jù)和控制信息,與幾個(gè)進(jìn)程共享的SGA 正相反,PGA 是只被一個(gè)進(jìn)程使用的區(qū)域,PGA 在創(chuàng)建進(jìn)程時(shí)分配,在終止進(jìn)程時(shí)回收.
后臺(tái)進(jìn)程
包括數(shù)據(jù)寫(xiě)進(jìn)程(Database Writer,DBWR)、日志寫(xiě)進(jìn)程(Log Writer,LGWR)、系統(tǒng)監(jiān)控(System Monitor,SMON)、進(jìn)程監(jiān)控(Process Monitor,PMON)、檢查點(diǎn)進(jìn)程(Checkpoint Process,CKPT)、歸檔進(jìn)程、服務(wù)進(jìn)程、用戶進(jìn)程)
數(shù)據(jù)寫(xiě)進(jìn)程:負(fù)責(zé)將更改的數(shù)據(jù)從數(shù)據(jù)庫(kù)緩沖區(qū)高速緩存寫(xiě)入數(shù)據(jù)文件
日志寫(xiě)進(jìn)程:將重做日志緩沖區(qū)中的更改寫(xiě)入在線重做日志文件
系統(tǒng)監(jiān)控:檢查數(shù)據(jù)庫(kù)的一致性如有必要還會(huì)在數(shù)據(jù)庫(kù)打開(kāi)時(shí)啟動(dòng)數(shù)據(jù)庫(kù)的恢復(fù)
進(jìn)程監(jiān)控:負(fù)責(zé)在一個(gè)Oracle 進(jìn)程失敗時(shí)清理資源
檢查點(diǎn)進(jìn)程:負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫(kù)中時(shí),更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫(kù)狀態(tài)信息。該進(jìn)程在檢查點(diǎn)出現(xiàn)時(shí),對(duì)全部數(shù)據(jù)文件的標(biāo)題進(jìn)行修改,指示該檢查點(diǎn)。在通常的情況下,該任務(wù)由LGWR執(zhí)行。
然而,如果檢查點(diǎn)明顯地降低系統(tǒng)性能時(shí),可使CKPT進(jìn)程運(yùn)行,將原來(lái)由LGWR進(jìn)程執(zhí)行的檢查點(diǎn)的工作分離出來(lái),由CKPT進(jìn)程實(shí)現(xiàn)。對(duì)于許多應(yīng)用情況,CKPT進(jìn)程是不必要的。只有當(dāng)數(shù)據(jù)庫(kù)有許多數(shù)據(jù)文件,LGWR在檢查點(diǎn)時(shí)明顯地降低性能才使CKPT運(yùn)行。
CKPT進(jìn)程不將塊寫(xiě)入磁盤(pán),該工作是由DBWR完成的。 init.ora文件中 CHECKPOINT_PROCESS 參數(shù)控制CKPT進(jìn)程的使能或使不能。缺省時(shí)為FALSE,即為使不能。
歸檔進(jìn)程:在每次日志切換時(shí)把已滿的日志組進(jìn)行備份或歸檔
服務(wù)進(jìn)程:用戶進(jìn)程服務(wù)。
用戶進(jìn)程:在客戶端,負(fù)責(zé)將用戶的SQL語(yǔ)句傳遞給服務(wù)進(jìn)程,并從服務(wù)器段拿回查詢數(shù)據(jù)。
Oracle框架, SCN(System ChangeNumber)
系統(tǒng)改變號(hào),一個(gè)由系統(tǒng)內(nèi)部維護(hù)的序列號(hào)。當(dāng)系統(tǒng)需要更新的時(shí)候自動(dòng)增加,他是系統(tǒng)中維持?jǐn)?shù)據(jù)的一致性和順序恢復(fù)的重要標(biāo)志。
【編輯推薦】
- 訪問(wèn) Oracle 數(shù)據(jù)庫(kù)的實(shí)例描述
- 淺談Oracle函數(shù)返回Table集合
- Oracle數(shù)據(jù)庫(kù)的密集型實(shí)際應(yīng)用程序的開(kāi)發(fā)
- 如何用Oracle 9i全索引掃描完成任務(wù)
- Oracle服務(wù)器如何進(jìn)一步的獲取權(quán)限