2.4.1 進程結構
Oracle 9i網路環境裡共有兩大類進程。
1. 使用者進程
使用者進程是在客戶機記憶體上啟動並執行程式,如客戶機上啟動並執行【SQL Plus】、【企業管理器】等。使用者進程向伺服器處理序提出操作請求。
2. 伺服器處理序
主要的伺服器處理序如表2.5所示。
表2.5 Oracle 9i的主要後台支援進程
名稱 |
主要作用 |
系統監控進程(SMON) |
資料庫系統啟動時執行恢複性工作,對有故障資料庫進行恢複 |
進程監控進程(PMON) |
用於恢複失敗的使用者進程 |
資料庫寫入進程(DBWR) |
將修改後的資料區塊內容寫回資料庫 |
日誌寫入進程(LGWR) |
將記憶體中的日誌內容寫入記錄檔 |
歸檔進程(ARCH) |
當資料庫伺服器以歸檔方式運行時調用該進程完成日誌歸檔 |
檢查點進程(CKPT) |
標識檢查點,用於減少資料庫恢複所需要的時間 |
恢複進程(RECO) |
用於分散式資料庫中的失敗處理 |
鎖進程(LCKn) |
在並行伺服器模式下確保資料的一致性 |
快照進程(SNPn) |
進行快照重新整理 |
調度進程(Dnnn) |
負責把使用者進程路由到可用的伺服器處理序進行處理 |
2.4.2 記憶體結構
1. 系統全域區(SGA)
SGA如圖2.47所示。
2. 程式全域區(PGA)
PGA是資料庫伺服器記憶體中為單個使用者進程分配的專用的記憶體地區,是使用者進程私人的,不能共用。
2.4.3 資料庫的邏輯結構
Oracle 9i資料庫的邏輯結構主要指從資料庫使用者的角度來考查的資料庫的組成,如圖2.48所示。自下向上,資料庫的邏輯結構共有6層。
1. 資料區塊(Data Block)
2. 資料區間(Data Extent)
3. 資料區段(Data Segment)
4. 邏輯對象(Logic Object)
5. 資料表空間(Tablespace)
Oracle 9i安裝完畢後自動建立9個預設的資料表空間,如表2.6所示。
表2.6 Oracle 9i資料庫的預設資料表空間
名稱 |
主要作用 |
CWMLITE |
用於線上分析處理(OLAP) |
DRSYS |
用於存放與工作空間設定有關的資訊 |
EXAMPLE |
執行個體資料表空間,存放執行個體資訊 |
INDEX |
索引資料表空間,存放資料庫索引資訊 |
SYSTEM |
系統資料表空間,存放資料表空間名稱、所含資料檔案等管理資訊 |
TEMP |
暫存資料表空間,儲存暫存資料表 |
TOOLS |
工具資料表空間,存放資料庫工具軟體所需的資料庫物件 |
UNDOTBS |
復原資料表空間,存放資料庫恢複資訊 |
USERS |
使用者資料表空間,存放使用者私人資訊 |
6. 資料庫(Database)
2.4.4 資料庫的儲存結構
資料庫的儲存結構指邏輯結構在物理上是如何?的,共有3層,如圖2.49所示。
1. 物理塊
2. 物理檔案
每個物理檔案由若干個物理塊組成,主要包括資料檔案、控制檔案和記錄檔3類。
資料檔案:用於存放所有的資料,以DBF為副檔名。
記錄檔:記錄了對資料庫進行的所有操作,以LOG為副檔名。
控制檔案:記錄了資料庫所有檔案的控制資訊,以CTL為副檔名。
以筆者的安裝環境為例,【全域資料庫名】為“myoracle.mynet”的資料庫的主要物理檔案存放在c:\oracle\oradata\myoracle下,如圖2.50所示。
2.4.5 資料庫伺服器的總體結構
Oracle 9i資料庫伺服器的總體結構如圖2.51所示。