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

深度解析 Oracle 架構核心:物理/邏輯結構、記憶體、進程與 SCN 機制

     編輯:Oracle 資料庫基礎

一、物理結構:檔案層面的資料庫骨架

Oracle 物理結構由六類檔案組成:

檔案類型屬性核心功能
資料檔資料庫檔案儲存實際資料,依類型分散不同磁碟(資料字典、使用者資料、索引、暫存資料、Redo 等)
控制檔資料庫檔案維護資料庫完整性關鍵:資料庫名、表空間資訊、所有資料檔/Redo 檔位置、當前日誌序列號、檢查點、Redo/歸檔狀態
重做日誌檔資料庫檔案記錄所有變更,支援故障恢復,至少需 2 組
追蹤檔/警示日誌資料庫檔案背景進程重大事件記錄;警示日誌同步記錄資料庫訊息與錯誤
參數檔非資料庫檔案實例啟動設定:控制檔位置、SGA 大小、優化器模式等
口令檔非資料庫檔案認證具備啟動/關閉實例權限的使用者

控制檔啟動流程:參數檔讀取控制檔位置 → 開啟控制檔 → 讀取資料檔清單 → 逐一開啟資料檔。

歸檔檔案:Redo 日誌的離線副本,介質故障恢復關鍵。

二、邏輯結構:儲存空間的階層組織

  • 表空間:基本邏輯單位,一組資料檔的集合
  • 段:物件佔用的空間(表段、索引段、回滾段、暫存段)
  • 區:一次性預留的連續儲存空間(多個區塊組成)
  • 區塊:Oracle 最小儲存單位,建庫時指定(如 8KB)

三、記憶體架構:SGA 與 PGA

四、背景進程:資料庫的無形守護者

特性SGA (System Global Area)PGA (Program Global Area)
共享性所有資料庫進程共享單一進程專用
內容資料庫快取、共用池、大型池、Redo Log Buffer 等排序區、雜湊區、游標狀態等
生命週期實例啟動分配,關閉釋放進程建立分配,終止回收
不足時寫入虛擬記憶體由作業系統管理

五、SCN (System Change Number):一致性的時間戳

系統變更號是內部維護的遞增序號。每次提交交易自動遞增,是維持資料一致性、有序恢復、閃回查詢、Data Guard 同步的核心基準。SCN 跨越記憶體、Redo Log、控制檔、資料檔,串聯整個資料庫的時序脈絡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
進程縮寫核心職責
資料庫寫入進程DBWn將修改的資料從緩衝區快取寫入資料檔
日誌寫入進程LGWR將 Redo Log Buffer 寫入線上 Redo Log 檔
系統監控進程SMON執行執行個體恢復、整理暫存段、清理無用臨時段
進程監控進程PMON使用者進程失敗時清理資源(釋放鎖、回滾交易)
檢查點進程CKPT檢查點發生時更新控制檔與資料檔標頭,減輕 LGWR 負擔(參數 CHECKPOINT_PROCESS 啟用)
歸檔進程ARCn日誌切換時備份/歸檔已滿日誌組
伺服器進程-服務使用者進程請求(專用/共用伺服器模式)
使用者進程-客戶端工具,傳遞 SQL 給伺服器進程並接收結果