首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 架構核心知識體系:25 條基礎法則與關鍵參數速查

     編輯:Oracle 資料庫基礎

掌握 Oracle 架構的核心邏輯,是 DBA 從「會操作」進階到「懂原理」的分水嶺。以下整理 25 條基礎架構法則,涵蓋表空間、資料檔、重做日誌、區段/區塊、交易與 SCN 等核心概念,並附贈區塊大小對應最大檔案數對照表,適合面試複習、日常查閱與知識體系建構。

核心架構法則 (1-25)

邏輯與物理儲存層級

  1. 表空間專屬性:一個表空間僅隸屬於一個資料庫。
  2. 控制檔冗余:每個資料庫至少 1 個控制檔,生產環境強烈建議 3 個以上,分置不同磁碟。
  3. SYSTEM 表空間強制性:每個資料庫至少包含 1 個表空間——SYSTEM,專儲資料字典,嚴禁存放使用者資料。
  4. 聯機重做日誌組:至少 2 個日誌組,每組至少 1 個成員檔案,建議多路徑多重。
  5. 資料檔專屬性:一個資料檔只能屬於 1 個表空間。
  6. 資料檔不可移動:加入表空間後,無法移出或加入其他表空間。
  7. 新表空間需新資料檔:建立表空間必須伴隨新資料檔建立。
  8. Oracle 區塊大小固定:9i 以前版本在建庫時一次性決定區塊大小 (2K/4K/8K/16K),建庫後不可變更,唯有重建資料庫。

段、區、區塊與空間管理

  1. 段跨檔、區不跨檔:一個段可跨多個資料檔,但一個區 只能存在於單一資料檔內。
  2. PCTFREE + PCTUSED < 100:兩者之和必須小於 100,否則區塊永無可用空間。

交易、Undo 與 Redo 機制

  1. 單一交易單一 Undo 段:一個交易僅使用一個回滾段 (Undo 段)。
  2. 索引表不存 ROWID:索引組織表 (IOT) 的葉子區塊直接儲存資料,無 ROWID。
  3. 等大小 Undo 段最優:擁有不同大小的回滾段無益處,建議統一大小。
  4. Commit 不等於落盤:提交後資料不一定立即寫入資料檔,僅保證 Redo 生成與 LGWR 寫入線上日誌。
  5. 未提交交易也產生 Redo:為了復原能力,未提交的變更同樣記錄於重做日誌。

實例與資料庫關係

  1. 8.0.4 預設實例名:初始安裝建立的預設資料庫實例名為 ORCL。
  2. 區塊大小上限:單一區塊最大 16KB (支援 2K/4K/8K/16K)。
  3. 最大資料檔數對照表:
區塊大小最大資料檔數
2KB20,000
4KB40,000
8KB 或以上65,536
  1. 多資料庫並行:單一 Oracle Server 可同時啟動多個資料庫實例。
  2. 多版本共存:UNIX/Linux 支援同一作業系統安裝多版本 Oracle;Windows 早期版本不支援 (12c 後透過 Oracle Home 隔離實現)。
  3. 一套軟體多實例:單一 Oracle Home 可管理多個資料庫及其對應實例。
  4. 1:1 對應原則:非 RAC 環境下,每個資料庫對應一個實例 (OPS/RAC 除外)。
  5. 作業系統層面多實例:綜合以上,單一 OS 可同時運行多個 Oracle 實例。

實務啟示

  • 規劃先行:區塊大小、控制檔多路徑、重做日誌組數/大小,必須在建庫階段定案。
  • SYSTEM 純淨:嚴禁建立使用者物件於 SYSTEM 表空間,避免字典爭用與碎片。
  • Undo 統一:採用自動 Undo 管理 (AUM),統一區塊大小與保留時間。
  • Commit 語義:應用開發需理解「Commit 完成 ≠ 資料安全落盤」,關鍵業務可搭配 COMMIT WRITE BATCH NOWAIT 等語法調整持久化策略。

這 25 條法則構成了 Oracle 物理/邏輯架構的骨幹,建議收藏備查,並在實際架構設計、故障排查、效能調優中反覆驗證內化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved