Oracle數據庫系統是壹個復雜的軟件系統。所謂Oracle的體系架構,是指Oracle數據庫管理系統的的組成部分和這些組成部分之間的相互關系,包括內存結構、後臺進程、物理與邏輯結構等。
下圖為Oracle數據庫體系總體圖:
Oracle數據庫的體系很復雜,復雜的原因在於它最大限度的節約內存,從上圖可以看出,它在整體上分實例和數據庫文件兩部分。
壹、實例(Instance):指數據庫服務器的內存及相關處理程序,它是Oracle的心臟。與Oracle性能關系最大的是SGA(System Global Area,即系統全局區活共享內存區),SGA包含三個部分:
1.數據緩沖區,可避免重復讀取常用的數據;
2.日誌緩沖區,提升了數據增刪改的速度,減少磁盤的讀寫而加快速度;
3.共享池,使相同的SQL語句不再編譯,提升了SQL的執行速度。
二、數據庫文件,由操作系統內的各種文件組組成。
1.Oracle數據庫邏輯結構:
1).表空間,數據庫的基本邏輯結構,是壹系列數據文件的集合;
2).段,不同類型數據在數據庫中占用的空間,有許多區組合而成;
3).區,目的是為數據壹次性預留壹個較大的空間;
4).塊,最小的存儲單位,在創建數據庫時指定。
2.Oracle數據庫物理結構:
1).數據文件(Data File),存儲數據的文件;
2).重做日誌文件(Redo Log File),負責記錄數據庫內任何數據的處理情況,可用於數據的恢復;
3).控制文件(Control File),控制和記錄數據庫的實體結構;
4).初始化參數文件(Initialization Parameter File),配置內存空間的依據;
5).口令文件(Password File),認證用戶啟動和關閉Oracle例程的權限。