表空間與資料庫關係
- 一個表空間**只能屬於一個**資料庫
- 每個資料庫**至少有一個**表空間(SYSTEM 表空間)
- SYSTEM 表空間**僅存放資料字典**,不存放用戶資料
控制檔與日誌檔規範
- 每個資料庫**至少一個**控制檔(建議 3 個,**分置不同磁碟**)
- 每個資料庫**至少兩組**線上重做日誌,**每組至少一個**成員
資料檔與表空間綁定規則
- 一個資料檔**只能屬於一個**表空間
- 資料檔加入表空間後,**無法移除、無法加入其他表空間**
- 建立新表空間**必須建立新資料檔**
交易與資料持久化機制
COMMIT 後資料**不一定立即寫入資料檔**(由 DBWn 延遲寫入)
- 未提交的交易**也會寫入重做日誌**(保證恢復能力)
實例與安裝架構
- Oracle Server 可**同時啟動多個**資料庫實例
- UNIX 可安裝**多版本** Oracle;Windows **不支援**多版本共存
- 一套 Oracle 軟體可擁有**多個資料庫**及其對應實例
記憶口訣
一表空間一資料庫,控制檔三分佈不同區。
系統表空間存字典,日誌兩組保安全。
資料檔歸一表空間,加入不移亦不變。
Commit不等寫資料檔,Redolog記未提交。
多實例共一軟體家,Unix多版Win不傢。
考證與面試高頻考點
- 為什麼 COMMIT 不立即寫資料檔?→ 效能考量,DBWn 批次寫入
- 為什麼未提交也寫 Redo?→ 保證 Instance Recovery 可重做/回滾
- 控制檔多路徑部署意義?→ 單點故障防護
- Windows 為何不支援多版本?→ 註冊表、服務名稱、共享庫衝突
這 14 條鐵律是 Oracle 架構理解的基石,背誦並理解背後原理,應對 OCP、面試、日常架構設計得心應手。