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

Oracle 體系架構全景解析:從物理結構到後台進程

     編輯:Oracle 資料庫基礎

初學 Oracle 常被龐大體系嚇退。建立清晰的架構心智圖,是從「會用」走向「精通」的關鍵。本文按物理結構、邏輯結構、內存架構、後台進程、實例與 SCN 五大維度,為您拆解 Oracle 核心骨架。

一、物理結構:落地的六大文件類型

  • 控制文件:數據庫「身份證」,記錄數據文件/重做日志路徑、檢查點信息,至少 1 個,建議多路徑鏡像。
  • 數據文件:實際存放表、索引等業務數據的容器。
  • 重做日志文件:事務變更的順序記錄,崩溃恢復的命脈,至少 2 組多路徑複用。
  • 參數文件(SPFILE/PFILE):實例啟動配置,決定 SGA 大小、進程數等核心屬性。
  • 歸檔文件:重做日志的離線副本,介質恢復的基石。
  • 密碼文件:鑑別 SYSDBA/SYSOPER 等特權用戶身份。

二、邏輯結構:四層存儲層級

表空間 → 段 → 區 → 塊

  • 表空間:邏輯容器,由 1~N 個數據文件組成。
  • 段:對象(表/索引/回滾段)佔用的空間集合。
  • 區:連續塊的集合,空間分配的最小單元。
  • 塊:I/O 操作的原子單位,建庫時指定(通常 8KB/16KB)。

三、內存架構:SGA 與 PGA 的分工

  • SGA(系統全局區):多進程共享,含共享池、數據庫緩沖區、重做日志緩沖區、大池等。物理內存不足時溢寫至虛擬內存。
  • PGA(程序全局區):專用於單一服務器/後台進程,存放排序區、游標狀態等。進程創建時分配,終止時釋放,不共享。

四、後台進程:數據庫的「心跳」

進程核心職責
DBWn將髒塊從緩沖區寫入數據文件
LGWR將重做日志緩沖寫入在線日志文件
SMON實例恢復、臨時段清理、空間合併
PMON失敗進程資源清理、監聽註冊
CKPT檢查點推進,更新控制文件/數據文件頭
ARCn日志切換時歸檔滿組
用戶/服務進程客戶端請求傳遞與結果返回

五、實例與 SCN

實例 = SGA + 後台進程,一次只能掛載/打開一個數據庫。SCN(系統變更號) 是內部遞增序列號,標記事務提交順序,是恢復一致性、數據一致性讀取的核心時標。

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