核心目標:極致節省記憶體、最大化併發效能。架構在整體上劃分為兩大獨立部分:Instance (記憶體+背景程序) 與 Database (物理檔案),兩者 1:N 關係 (RAC 下一資料庫多 Instance)。
Instance = SGA (System Global Area) + 背景程序。SGA 為所有 Server Process 共享,包含三大核心組件:
| SGA 組件 | 功能 | 效能關鍵 |
|---|---|---|
| 資料緩衝區 (Database Buffer Cache) | 快取資料塊,避免重複讀取磁碟 | 命中率 > 95% 為佳;DB_CACHE_SIZE、DB_KEEP_CACHE_SIZE、DB_RECYCLE_CACHE_SIZE |
| 重做日誌緩衝區 (Redo Log Buffer) | 暫存變更向量,批次寫入 Redo Log File | 減少磁碟 I/O 等待;LOG_BUFFER、COMMIT_WRITE (10g+) |
| 共用池 (Shared Pool) | 快取 SQL/PLSQL 執行計劃、資料字典、鎖結構 | 硬解析率 < 1%;SHARED_POOL_SIZE、CURSOR_SHARING、RESULT_CACHE (11g+) |
其他 SGA 組件:Large Pool (並行/備份/共用伺服器)、Java Pool、Streams Pool、In-Memory Column Store (12c+)。
DB_BLOCK_SIZE| 檔案類型 | 功能 | 關鍵參數/特性 |
|---|---|---|
| 資料檔 (Data File) | 儲存實際資料 (表、索引、LOB...) | AUTOEXTEND、MAXSIZE、OMF |
| 重做日誌檔 (Redo Log File) | 循序記錄所有變更,支援 Instance/媒體恢復 | 多路徑多重 (Multiplex)、Group/Member、切換觸發歸檔 |
| 控制檔 (Control File) | 記錄資料庫實體結構 (檔案名、SCN、Checkpoint、RMAN 中繼資料) | 多路徑多重、CONTROL_FILES、CONTROL_FILE_RECORD_KEEP_TIME |
| 初始化參數檔 (PFILE/SPFILE) | Instance 啟動配置 (記憶體、程序、儲存、網路...) | SPFILE 為二進位、支援動態修改、CREATE SPFILE FROM PFILE |
| 口令檔 (Password File) | 認證 SYSDBA/SYSOPER/ SYSBACKUP/SYSDG/SYSKM 權限遠端啟動關閉 | REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE、ORAPWD 建立 |