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

Oracle 認證基礎:系統架構與核心元件深度解析

     編輯:Oracle 資料庫基礎

發展歷程

  • v5 (1986):首支援分散式資料庫。
  • v6 (1988):引入交易處理選項 (TPO) 提升交易效能。
  • v7 (1992):程序資料庫選項、平行伺服器選項,奠定現代 Oracle 架構基石。
  • Oracle7 協同開發環境:整合軟體生命週期、多資料來源、多語言、多媒體、CASE 工具。

Oracle 系統特點

  • 高效能大資料庫:支援百 TB 級、大量併發用戶、24×7 不中斷運作、資料一致性保證。
  • 開放標準:100+ 硬體平台、多種 OS、ANSI/ISO SQL89 Entry Level 100% 相容 (NIST 驗證)。
  • 安全與完整性:細粒度存取控制、資料完整性約束。
  • 分散式資料庫與處理:透明分散查詢、雙階段提交、位置透明性。
  • 可移植/相容/連接性:應用極少修改即可跨平台遷移,異構系統互通。

資料庫系統體系結構

實例與資料庫關係

  • 資料庫:實體檔案集合 (資料檔、控制檔、重做日誌)。
  • 實例:SGA (System Global Area) + 背景進程群。啟動實例 → 掛載資料庫 → 開啟資料庫。
  • 平行伺服器 (RAC 前身) 允許多實例掛載同一實體資料庫。

記憶體結構 (SGA)

  • 共用池 : SQL/PLSQL 快取、資料字典快取。
  • 資料庫緩衝區快取 : 資料塊拷貝 (LRU 管理)。
  • 重做日誌緩衝區 : 交易重做記錄暫存。
  • 大池、Java 池、串流池等選擇性元件。

進程架構

類型進程職責
用戶進程Client Process執行應用程式 (SQL*Plus, Pro*C, JDBC 等)
Server Process處理用戶 SQL 解析、執行、塊讀取、結果回傳。專用/共用伺服器模式可選。
背景進程DBWn將髒緩衝區寫入資料檔 (LRU、檢查點、逾時觸發)。
LGWR將重做日誌緩衝區同步寫入線上日誌檔 (Commit、1/3 滿、3 秒、DBWR 寫入前)。
CKPT定期更新資料檔標頭與控制檔檢查點資訊,縮短恢復時間。
SMON執行執行個體恢復、清理臨時段、合併可用空間。
PMON監控失敗進程、釋放鎖、清理快取、重啟失敗調度器/伺服器進程。
ARCn歸檔模式下將線上日誌複製至歸檔目的地。
RECO解決分散式交易待決狀態。
LCKnRAC 環境下的全域閂鎖服務 (GLS) 進程。
Dnnn / Snnn共用伺服器模式下的調度器與共用伺服器進程。

關鍵背景進程深度剖析

DBWR (Database Writer)

採用 LRU 演算法管理緩衝區。觸發寫入條件:髒緩衝區達臨界長度、LRU 掃描找不到可用緩衝區、3 秒逾時、檢查點事件。多 DBWR (參數 DB_WRITER_PROCESSES) 可平行寫入不同磁碟。

LGWR (Log Writer)

保證重做記錄持久化。同步寫入鏡像日誌組。日誌緩衝區為循環緩衝區,LGWR 高速寫入確保空間常備。注意:Commit 前 LGWR 可能已寫入部分記錄 (Group Commit 優化)。

結語

掌握 Oracle 實例記憶體與進程架構,是效能調校、故障診斷、高可用設計的基石。建議配合 V$SGA、V$PROCESS、V$BGPROCESS 等動態視圖持續觀察運行狀態。

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