三、Oracle 體系架構全景
1. 物理結構
- 控制檔:維護資料庫完整性資訊,識別資料檔與重做日誌檔,至少 1 個。
- 資料檔:實際儲存資料。
- 重做日誌檔:記錄所有變更,支援故障恢復,至少 2 組。
- 參數檔:定義例程特性(SGA 大小等)。
- 歸檔檔:重做日誌離線副本,用於介質恢復。
- 密碼檔:認證具備啟動/關閉權限的用戶。
2. 邏輯結構
- 表空間:邏輯儲存單位,由一組資料檔組成。
- 段:物件佔用空間(表段、索引段、回滾段、暫存段)。
- 區:一次性分配的連續空間單位。
- 塊:Oracle 最小 I/O 單位,建庫時指定大小。
3. 記憶體結構
- SGA:共享記憶體區,含共用池、資料庫緩衝區、重做日誌緩衝區等,所有進程共享。
- PGA:程序私有記憶體,含排序區、游標資訊等,進程專用,建立時分配、終止時釋放。
4. 背景進程
| 進程 | 職責 |
| DBWn | 將髒緩衝區寫入資料檔 |
| LGWR | 將重做日誌緩衝區寫入線上日誌檔 |
| SMON | 執行例程恢復、整理暫存段、合併自由空間 |
| PMON | 清理失敗進程資源、釋放鎖、重註冊監聽 |
| CKPT | 定期更新控制檔與資料檔檢查點資訊 |
| ARCn | 日誌切換時歸檔已滿日誌組 |
| Server Process | 服務用戶進程請求 |
| User Process | 客戶端進程,傳遞 SQL、接收結果 |
5. Oracle 例程
由 SGA + 背景進程組成,一次只能掛載/開啟一個資料庫。
6. SCN (System Change Number)
系統內部遞增序號,維持資料一致性與順序恢復的關鍵標識。
四、深入學習建議
DBA 方向
- 考取 OCP,系統學習 Oracle Concepts、官方文檔。
- 專題研究:RMAN、RAC、Statspack、Data Guard、SQL Tuning、Backup & Recovery。
開發方向
- 精通 PL/SQL:SQL 優化、內建函數、存儲過程/函數/觸發器。
- 熟練 Oracle Developer Suite(Forms/Reports)。