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

Oracle RDBMS 核心架構深度解析:組件、日誌與存儲結構

     編輯:Oracle 資料庫基礎

一、Oracle RDBMS 環境組件

Oracle 數據庫不僅指數據文件,而是包含以下核心組件的完整運行環境:

  • 實例:後台進程(PMON、SMON、DBWn、LGWR 等)與 SGA(共享池、數據緩衝區、Redo Log Buffer 等)。
  • SYSTEM 表空間:存放數據字典、系統類目,由一或多個數據文件組成,每個數據庫必有且僅有一個。
  • 非 SYSTEM 表空間:DBA 定義的業務表空間(USERS、INDEX、UNDO、TEMP 等),各由一或多個數據文件構成。
  • 聯機重做日志:至少兩組,循環寫入,記錄所有變更,保障事務持久化。
  • 歸檔日志:可選,聯機日志切換時歸檔,支撐介質恢復與數據守護。
  • 控制文件、參數文件:記錄數據庫物理結構、啟動參數等元數據。

所有組件協同工作,通過中央系統類目與數據字典維護元數據一致性。

二、Redo Log 機制詳解

聯機重做日志

  • 每個實例擁有一組聯機日志,由多個日志文件組成。
  • LGWR 進程將 Redo Entry 實時寫入當前日志文件,記錄數據塊變更向量,用於實例恢復。
  • 日志文件組循環使用,切換時觸發檢查點、歸檔等動作。

歸檔重做日志

  • 僅在 ARCHIVELOG 模式下生成,將填滿的聯機日志複製到歸檔目標位置。
  • 作用:介質恢復基石(配合備份恢復已提交事務)、熱備份支撐(數據庫開啟狀態下備份)。
  • NOARCHIVELOG 模式不生成歸檔,僅支持冷備份與實例恢復,無法進行時間點恢復。

三、物理與邏輯存儲結構

表空間 → 數據文件 → 數據塊 → 擴展 → 段

  • 塊:最小 I/O 單位,大小由 DB_BLOCK_SIZE 定(512~8192 字節),創建庫時固定。
  • 擴展:連續塊的集合,最小 5 個塊。段由多個擴展組成。
  • 段:表段、索引段、回滾段、臨時段等邏輯對象的物理存儲載體。
  • 存儲參數:INITIAL、NEXT、MINEXTENTS、MAXEXTENTS 控制空間分配策略。

四、網絡協議對比:Oracle vs SQL Server

Oracle 使用 TNS(Transparent Network Substrate)協議,支持專用/共用服務器模式,配置 listener.ora、tnsnames.ora 實現服務註冊與客戶端解析;SQL Server 採用 TDS(Tabular Data Stream)協議,依賴瀏覽器服務與端口解析。Oracle 的網絡層更獨立於作業系統,跨平台特性更強。

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