本文從網上找了一張介紹oracle體系結構圖,用於總體的描述oracle的體系結構
1 oracle數據庫主要有數據文件database和數據庫實例instance組成。用戶通過用戶進程鏈接到server process。在數據庫啟動的時候,需要依賴於參數文件parameter file,如果我們的數據庫是歸檔模式的話,oracle數據庫會把 redo log files 寫入到 archived log files,避免redo log files 被覆蓋
2 instance 介紹
數據庫啟動的時候,會讀取參數文件spfile,並且根據參數文件分配一個System globle area(SGA),每個oracle數據會話連接都共享的內存,對於SGA又可以分為shared pool的共享池,存放一些數據字典緩存和通用的函數庫。對於SGA中,比較重要的有 database buffer cache,redo log buffer, java pool, large pool等
對於PGA和SGA的分配:PGA:每當有一個tcp連接oracle的話就會產生一個session會話,分配一個PGA。對於SGA:是所有會話session共享的內存,當oracle數據庫啟動就會初始化分配一個共享內存區域,啟動以後這個SGA的大小不會改變
2 database數據庫文件: data files,control files,Redo Log files。對於數據文件data files 主要是用於存放業務數據的文件,對於control files 存放的是控制文件,Redo log files存放的是對數據庫操作的記錄,如果數據庫發生異常關閉,則啟動的時候會讀取Redo log files對數據庫進行修復
3 oracle數據庫的database和instance之間是通過一系列的後台進行進行通信。不同的操作有不同的後台進程進行處理