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

Oracle 體系架構核心知識體系:物理邏輯內存進程全景圖

     編輯:Oracle 資料庫基礎

架構總覽

Oracle 數據庫系統由物理結構(文件)、邏輯結構(存儲單元)、內存結構(SGA/PGA)、後台進程 四大支柱構成。掌握架構是性能調優、故障診斷、備份恢復的基石。

一、物理結構:磁盤文件族群

文件類型屬性核心作用關鍵點
控制文件數據庫文件記錄 DB 名、表空間/數據文件/Redo 位置、檢查點、日志序列號至少 1 個,建議多路徑多路鏡像
數據文件數據庫文件存儲實際業務數據、索引、臨時段按類型分盤(數據/索引/臨時/UNDO)
Redo 日志文件數據庫文件記錄所有變更,支撐崩潰恢復至少 2 組,多路鏡像,合理設置大小
歸檔日志數據庫文件Redo 歷史副本,介質恢復必需歸檔模式下自動生成,需監控空間
參數文件非數據庫文件實例啟動參數(SPFILE/PFILE)指定控制文件、內存、歸檔目標
口令文件非數據庫文件SYSOPER/SYSDBA 遠程認證ORAPWD 創建,REMOTE_LOGIN_PASSWORDFILE 控制
跟蹤/告警日志數據庫文件後台進程異常、關鍵事件、錯誤記錄ADR_HOME/diag 目錄,定期清理

控制文件關鍵內容

  • 數據庫名稱、創建時間戳
  • 所有表空間名、數據文件路徑、Redo 文件路徑
  • 當前 Redo 日志序列號、檢查點 SCN/位置
  • RMAN 備份元數據(控制文件自動備份開啟時)

啟動掛載流程中的角色

  1. 讀取參數文件獲取控制文件路徑
  2. 打開控制文件,驗證一致性
  3. 根據控制文件列表打開所有數據文件、Redo 文件

二、邏輯結構:存儲層次金字塔

表空間 ──→ 段 ──→ 區 ──→ 塊
  │         │       │       │
  └─ 邏輯容器  └─ 對象空間  └─ 連續塊組  └─ 最小 I/O 単位 (8K/16K/32K)
  • 表空間:邏輯容器,由 1-N 個數據文件組成,管理對象存儲配額
  • 段:對象佔用的空間集合(表段、索引段、UNDO 段、臨時段)
  • 區:連續塊的分配單位,由 1-N 個塊組成,本地管理表空間統一/自動分配
  • 塊:最小 I/O 單位,創建庫時指定 DB_BLOCK_SIZE,不可變

三、內存架構:SGA 與 PGA

SGA (System Global Area) - 共享內存區

SGA 在實例啟動時分配(物理內存不足時溢寫到交換分區),所有進程共享。

PGA (Program Global Area) - 專用內存區

  • 每個服務器/後台進程私有
  • 包含:排序區、哈希區、位圖合併區、會話游標狀態、UGA(專用服務器模式)
  • 關鍵參數:PGA_AGGREGATE_TARGET(自動管理模式)、SORT_AREA_SIZE(手動模式)
  • 進程創建時分配,終止時釋放

四、核心後台進程

組件功能關鍵參數
共享池SQL/PLSQL 解析樹、執行計劃、數據字典緩存SHARED_POOL_SIZE
數據庫緩存數據塊副本(LRU 列表管理)DB_CACHE_SIZE / DB_nK_CACHE_SIZE
Redo 日志緩存Redo 條目順序寫入,LGWR 批量刷盤LOG_BUFFER
大池RMAN、並行查詢、共享服務器 UGALARGE_POOL_SIZE
Java 池Java 代碼/會話狀態JAVA_POOL_SIZE
流池Streams/AQ 消息緩存STREAMS_POOL_SIZE
結果緩存SQL/PLSQL 結果集緩存RESULT_CACHE_MAX_SIZE

五、SCN:時序一致性基石

  • System Change Number:單調遞增的全局邏輯時鐘
  • 每次提交、檢查點、日志切換推進 SCN
  • 用於:事務排序、一致性讀構建、恢復同步點、Data Guard 同步進度
  • 查看當前 SCN:SELECT CURRENT_SCN FROM V$DATABASE;

架構知識在實戰中的映射

進程縮寫核心職責關鍵觸發條件
數據庫寫入進程DBWn將髒塊從緩存刷入數據文件檢查點、LRU 末端、表空間離線、检查點隊列
日志寫入進程LGWRRedo 日志緩存順序寫入在線 Redo 文件提交、1/3 滿、1MB、3秒超時、DBWR 需要
系統監控進程SMON實例恢復、臨時段清理、事務恢復啟動時、定期喚醒
進程監控進程PMON失敗進程資源清理、釋放鎖、回滾未提交事務進程異常終止時
檢查點進程CKPT更新控制文件/數據文件頭檢查點信息日志切換、手動檢查點、CKPT_PROCESS=TRUE
歸檔進程ARCn在線 Redo 切換後複製到歸檔目標歸檔模式 + 日志切換
恢復進程RECO分布式事務失敗自動解決雙階段提交失敗
管理進程MMAN/MMON/MMNL內存自動管理、AWR 快照、統計收集定期/閾值觸發
場景關聯架構組件排查/優化切入點
SQL 執行慢共享池、緩存、PGA 排序區解析共享、緩存命中率、排序磁盤化
日志切換頻繁Redo 文件大小、LGWR、歸檔增大 Redo、優化提交頻率、歸檔並行
表空間報滿數據文件、段、區、塊擴展文件、啟用自動擴展、清理臨時段
實例崩潰恢復久Redo、檢查點、SMON、DBWR縮短檢查點間隔、優化 FAST_START_MTTR_TARGET
分布式事務掛起RECO、雙階段提交檢查 DBA_2PC_PENDING、網絡/監聽狀態
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved