Oracle數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)復(fù)雜的軟件系統(tǒng)。所謂Oracle的體系架構(gòu),是指Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)的的組成部分和這些組成部分之間的相互關(guān)系,包括內(nèi)存結(jié)構(gòu)、后臺(tái)進(jìn)程、物理與邏輯結(jié)構(gòu)等。
下圖為Oracle數(shù)據(jù)庫(kù)體系總體圖:
Oracle數(shù)據(jù)庫(kù)的體系很復(fù)雜,復(fù)雜的原因在于它最大限度的節(jié)約內(nèi)存,從上圖可以看出,它在整體上分實(shí)例和數(shù)據(jù)庫(kù)文件兩部分。
一、實(shí)例(Instance):指數(shù)據(jù)庫(kù)服務(wù)器的內(nèi)存及相關(guān)處理程序,它是Oracle的心臟。與Oracle性能關(guān)系最大的是SGA(System Global Area,即系統(tǒng)全局區(qū)活共享內(nèi)存區(qū)),SGA包含三個(gè)部分:
1、數(shù)據(jù)緩沖區(qū),可避免重復(fù)讀取常用的數(shù)據(jù);
2、日志緩沖區(qū),提升了數(shù)據(jù)增刪改的速度,減少磁盤(pán)的讀寫(xiě)而加快速度;
3、共享池,使相同的SQL語(yǔ)句不再編譯,提升了SQL的執(zhí)行速度。
二、數(shù)據(jù)庫(kù)文件,由操作系統(tǒng)內(nèi)的各種文件組組成。
1、Oracle數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu):
1).表空間,數(shù)據(jù)庫(kù)的基本邏輯結(jié)構(gòu),是一系列數(shù)據(jù)文件的集合;
2).段,不同類(lèi)型數(shù)據(jù)在數(shù)據(jù)庫(kù)中占用的空間,有許多區(qū)組合而成;
3).區(qū),目的是為數(shù)據(jù)一次性預(yù)留一個(gè)較大的空間;
4).塊,最小的存儲(chǔ)單位,在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定。
2、Oracle數(shù)據(jù)庫(kù)物理結(jié)構(gòu):
1).數(shù)據(jù)文件(Data File),存儲(chǔ)數(shù)據(jù)的文件;
2).重做日志文件(Redo Log File),負(fù)責(zé)記錄數(shù)據(jù)庫(kù)內(nèi)任何數(shù)據(jù)的處理情況,可用于數(shù)據(jù)的恢復(fù);
3).控制文件(Control File),控制和記錄數(shù)據(jù)庫(kù)的實(shí)體結(jié)構(gòu);
4).初始化參數(shù)文件(Initialization Parameter File),配置內(nèi)存空間的依據(jù);
5).口令文件(Password File),認(rèn)證用戶(hù)啟動(dòng)和關(guān)閉Oracle例程的權(quán)限。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄