首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 9i 數據庫服務器體系結構深度解析:進程/內存/邏輯/存儲四層結構全景圖

     編輯:Oracle 資料庫相關知識

進程結構 (兩大類)

類型代表進程核心職責
用戶進程SQL*Plus、EM Console、JDBC/ODBC 客戶端發起請求、接收結果、客戶邏輯
服務器進程專用/共享服務器進程解析/執行/提取、返回結果
後台進程SMON、PMON、DBWn、LGWR、ARCH、CKPT、RECO、LCKn、SNPn、Dnnn實例級核心職能 (見下表)

九大核心後台進程職能表

進程全稱關鍵動作
SMONSystem Monitor實例恢復、臨時段清理、空間合併
PMONProcess Monitor清理失敗用戶進程、釋放鎖/會話資源、向 Listener 註冊服務
DBWnDatabase Writer將髒緩存寫回數據文件 (LRU/Checkpoint/Truncate 觸發)
LGWRLog Writer重做日志緩存寫入重做日志文件 (Commit/1/3MB/每 3 秒)
ARCHArchiver歸檔模式下將填滿的重做日志組複製到歸檔目標
CKPTCheckpoint更新數據文件頭/控制文件检查点位置、觸發 DBWn
RECORecoverer解決分布式事務失敗 (兩階段提交 in-doubt)
LCKnLock ProcessRAC 環境全局鎖管理 (GCS/GES)
SNPnSnapshot物化視圖定時刷新、作業隊列調度
DnnnDispatcher共享服務器模式下路由用戶請求到共享服務器

內存結構 (SGA/PGA)

  • SGA:共享內存區,包含 Database Buffer Cache、Redo Log Buffer、Shared Pool (Library Cache/Data Dictionary Cache)、Large Pool、Java Pool、Streams Pool。大小由 SGA_MAX_SIZE/DB_CACHE_SIZE 等控制。
  • PGA:私有內存區,每服務器進程一個,包含排序區、哈希區、會話信息、游標狀態。9i 引入 PGA_AGGREGATE_TARGET 自動管理。

SGA 結構圖:

邏輯結構 (自下而上 6 層)

  1. Data Block (數據塊) - 最小 I/O 單位 (默認 8K/4K)
  2. Extent (區) - 連續塊組成,最小分配單元
  3. Segment (段) - 同類 Extent 集合 (表段/索引段/撤消段/臨時段)
  4. Schema Object (模式對象) - 表/索引/簇等邏輯實體
  5. Tablespace (表空間) - 段的邏輯容器,關聯 1~n 數據文件
  6. Database (數據庫) - 所有表空間集合

邏輯結構圖:

9 大默認表空間

名稱用途
SYSTEM數據字典、系統對象
SYSAUX輔助系統對象 (9i 新增,減輕 SYSTEM)
USERS用戶對象默認表空間
TEMP臨時段 (排序/哈希/索引創建)
UNDOTBS撤消段 (自動撤消管理)
INDX索引對象 (可選分離)
TOOLS工具對象 (EM/Statspack 等)
CWMLITEOLAP 元數據
DRSYSText/InterMedia 索引
EXAMPLE示例 Schema

存儲結構 (物理 3 層)

  1. OS Block (物理塊) - 磁盤扇區倍數 (通常 512B/4K)
  2. Oracle Block (數據塊) - 邏輯塊映射 1~n 物理塊
  3. Datafile/Controlfile/Redo Log File - 文件級容器

存儲結構圖與文件列表示例:

總體架構圖

實例 (SGA+後台進程) + 數據庫 (文件) = Oracle Server

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