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

Oracle 資料庫核心組件與儲存架構基石:實例、表空間、日誌、網路協議全景圖

     編輯:Oracle 資料庫基礎

Oracle 資料庫環境 = 實例 + 物理檔案集合

「資料庫」一詞在 Oracle 語境下雙重含義:狹義指**物理檔案集合**,廣義指**整個 RDBMS 環境**(實例 + 檔案)。

核心組件清單

  1. Oracle 實例: SGA(共享記憶體)+ 背景進程(DBWn、LGWR、CKPT、SMON、PMON、MMAN、RECO...)。
  2. SYSTEM 表空間: 唯一強制表空間,存放**資料字典**(核心元資料),由 1+N 個資料檔組成。
  3. 非 SYSTEM 表空間: DBA 規劃的業務表空間(USERS、UNDO、TEMP、INDEX、DATA...),各 1+N 資料檔。
  4. 線上 Redo Log: **至少 2 組**,每組 1+N 個成員(鏡像),循環寫入,保證事務持久化。
  5. 歸檔 Redo Log: 選用,歸檔模式下由 ARCn 將填滿的線上日誌複製歸檔,**備份恢復/備庫同步基石**。
  6. 其他關鍵檔案: 控制檔(多路徑)、參數檔(SPFILE/PFILE)、密碼檔、網路設定檔。

日誌機制深度解析

線上 Redo Log(Online Redo Log)

  • 每實例一組線上日誌,由多個**日誌檔**組成**日誌組**,循環使用。
  • LGWR 將 **Redo Entry**(重做記錄)寫入當前日誌組,**記錄所有變更向量**,支援前滾恢復。
  • 日誌切換觸發 CKPT 更新控制檔/資料檔頭 SCN、觸發 ARCn 歸檔(歸檔模式)。

歸檔 Redo Log(Archived Redo Log)

  • 填滿的線上日誌組被歸檔形成**歸檔日誌檔**,唯一標識(序號+線程+RESETLOGS ID)。
  • 用途:① 媒體恢復基石 ② 開啟狀態下熱備份支援 ③ Data Guard/Streams/GoldenGate 同步源。

兩種運行模式

模式特徵適用場景
NOARCHIVELOG不歸檔,線上日誌覆蓋循環測試/開發/可重建環境,僅支援冷備份
ARCHIVELOG歸檔,線上日誌歸檔後才可覆蓋**所有生產環境**,支援熱備份、時間點恢復、Data Guard

物理與邏輯儲存結構映射

Tablespace (邏輯容器)
  └─ Datafile (物理檔案, 1+N)
       └─ Oracle Block (格式化單位, 512-8192 bytes, 9i前創庫固定)
            └─ Extent (連續區塊鏈, ≥5 blocks, 初始/下一/最小/最大)
                 └─ Segment (段: 表/索引/Undo/Temp, 單表空間可跨多檔)

Oracle vs SQL Server 網路協議對比

層面Oracle Net ServicesSQL Server Network Library
架構分層:應用 → TNS → 協議適配器 → 传输層整合:TDS 封包直接載於 TCP/Named Pipes/Shared Memory
配置檔sqlnet.ora、listener.ora、tnsnames.oraSQL Server Configuration Manager、Cliconfg
命名解析本地 tnsnames、LDAP/OID、EZCONNECTSPN、別名、IP/端口直連
進階功能連線負載均衡、故障轉移、SDU/TDU 調優、SSL/TLS、DRCPAlwaysOn 端點、加密連線、連線池

初學者關鍵認知

  • **實例 ≠ 資料庫**:實例是記憶體+進程,資料庫是檔案。RAC:多實例掛載單一資料庫。
  • **SGA 是實例核心**:Shared Pool、Buffer Cache、Redo Log Buffer、Large Pool、Java Pool、Streams Pool...
  • **控制檔是資料庫身份證**:記錄檔案路徑、SCN、Checkpoint、RMAN 元資料、Redo 歷史。
  • **歸檔模式是生產底線**:無歸檔 = 無時間點恢復 = 風險不可控。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved