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

Oracle Instance 實例架構全解析:SGA 記憶體結構、背景進程與物理檔案對應關係

     編輯:Oracle 資料庫基礎

一、記憶體結構:SGA 核心組件與查詢

-- 查看 SGA 總大小
SELECT * FROM v$sga;

-- 詳細組件大小
SELECT component, current_size/1024/1024 AS size_mb FROM v$sga_dynamic_components;
組件功能關鍵參數
Shared PoolSQL/PLAN 快取、資料字典快取、Result CacheSHARED_POOL_SIZE, RESULT_CACHE_MAX_SIZE
Database Buffer Cache資料塊快取 (Default/Keep/Recycle Pool)DB_CACHE_SIZE, DB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SIZE
Redo Log BufferRedo 記錄暫存,Commit 前必寫LOG_BUFFER
Large PoolRMAN/共享伺服器/平行查詢大記憶體分配LARGE_POOL_SIZE
Java Pool資料庫內 JVM 類別/會話狀態JAVA_POOL_SIZE
Streams PoolStreams/GoldenGate 佇列STREAMS_POOL_SIZE

二、背景進程:核心 8 大進程職責

進程關鍵觸發條件備註
DBWRLRU 掃描發現髒塊 / Checkpoint / Tablespace Offline / Truncate多進程 DBWn 提升寫入並行
LGWRCommit / Redo Log Buffer 1/3 滿 / 1MB 積累 / 3 秒 TimeoutGroup Commit 優化高併發
SMON啟動時實例恢復 / 臨時段清理 / 空間合併
PMON使用者進程異常終止 / 鎖清理 / Listener 動態註冊
CKPTCheckpoint 發生時更新控制檔/資料檔表頭大量資料檔時啟用分攤 LGWR
ARCnRedo Log Group 切換 (歸檔模式)多進程支援多目的地
Server Process處理使用者 SQL、PL/SQL 執行專用/共享伺服器模式
User Process客戶端發送 SQL、接收結果非資料庫進程

三、物理檔案集合與查詢視圖

檔案類型查詢視圖典型檔名範例
控制檔V$CONTROLFILEcontrol01.ctl, control02.ctl
資料檔V$DATAFILEsystem_01.dbf, sysaux_01.dbf, undotbs_01.dbf, temp_01.dbf, users_01.dbf
線上重做日志V$LOGFILE, V$LOGredo01.log, redo02.log, redo03.log
歸檔日志V$ARCHIVED_LOGARC00001_0812345678_0001.log
參數檔V$PARAMETER / SPFILEspfile.ora, init.ora
口令檔$ORACLE_HOME/dbs/orapworapworcl
警示/追蹤日志ADR Base (DIAGNOSTIC_DEST)alert_.log, _ora_.trc

四、常用診斷查詢

-- 控制檔
SELECT * FROM v$controlfile;
-- 資料檔
SELECT * FROM v$datafile;
-- 重做日志
SELECT * FROM v$logfile;
-- 歸檔模式狀態
ARCHIVE LOG LIST;

結語

Instance = SGA + 背景進程。理解記憶體組件與進程職責的對應關係 (如 LGWR ↔ Redo Log Buffer ↔ Online Redo Log),是效能調校與故障診斷的基石。

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