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

Oracle 優化器 26 大效能關鍵參數完整手冊

     編輯:Oracle 資料庫基礎

Oracle 實例行為由數百參數控制,其中 26 個參數對優化器決策與系統吞吐量影響最為直接。本文逐一解析其功能、適用場景與調整指引。

26 大參數速查表

#參數核心功能調整指引
1CHECKPOINT_PROCESS啟用檢查點進程 (CKPT)LGWR 壓力大時設 TRUE,分攤檢查點工作
2DB_BLOCK_CHECKPOINT_BATCH單次檢查點處理塊數上限適度調大加速檢查點完成
3DB_BLOCK_BUFFERSSGA 緩衝區塊數 (舊版)決定 SGA 大小核心參數;調大減 I/O 但佔記憶體,新版用 DB_CACHE_SIZE
4DB_BLOCK_SIZE資料庫塊大小 (位元組)建庫時固定 (2K/4K/8K/16K/32K);影響 FREELISTS 上限
5DB_FILES最大可開啟資料檔數預留擴充空間;避免達上限無法加檔
6DB_FILE_MULTIBLOCK_READ_COUNT全掃單次 I/O 讀取塊數4~32 視 OS 而定;調大加速全掃但增 PGA 壓力
7DISCRETE_TRANSACTIONS_ENABLED簡化回滾機制特定交易類型設 TRUE 可提升效能
8LOG_ARCHIVE_BUFFER_SIZE歸檔緩衝區大小僅直寫磁帶裝置需調整;配合 LOG_ARCHIVE_BUFFERS
9LOG_ARCHIVE_BUFFERS歸檔緩衝區個數同上
10LOG_BUFFERRedo Log Buffer 位元組數繁忙系統避免 ≥64K;預設約 4×DB_BLOCK_SIZE
11LOG_CHECKPOINT_TIMEOUT時間基礎檢查點間隔(秒)0 表關閉;配合 FAST_START_MTTR_TARGET 使用
12LOG_CHECKPOINT_INTERVALRedo 塊數基礎檢查點間隔決定檢查點頻率;影響恢復時間
13LOG_FILES最大開啟日誌檔數SGA 壓力大可適度減小
14LOG_SIMULTANEOUS_COPIESRedo Copy Latch 最大數建議 2×CPU 核心數;單 CPU 設 0 關閉
15LOG_SMALL_ENTRY_MAX_SIZE小 Redo 項閾值配合 LOG_SIMULTANEOUS_COPIES;超過此值釋放 Latch
16OPTIMIZER_MODE優化器模式:RULE/COST/CHOOSE現代系統統一用 COST (ALL_ROWS/FIRST_ROWS)
17SEQUENCE_CACHE_ENTRIESSGA 中 Sequence 快取數高並發調大提升效能;LRU 管理
18SEQUENCE_CACHE_HASH_BUCKETSSequence 雜湊桶數質數;加速快取查找
19SERIALIZABLE可序列化隔離等級TRUE 保證表級讀一致;會增加鎖爭用
20SHARED_POOL_SIZE共享池大小多用戶系統調大改善解析效能;小系統可調小省記憶體
21SMALL_TABLE_THRESHOLD小表全掃快取門檻表塊數 < 此值則全表快取;通常用預設值
22SORT_AREA_RETAINED_SIZE排序保留記憶體排序結束釋放至此值;複雜查詢可調大
23SORT_AREA_SIZE單次排序最大 PGA 記憶體大排序量調大;一般不動,除非 TEMP 表空間壓力大
24SORT_SPACE_MAP_SIZE排序磁碟空間管理極大排序時微調
25SQL_TRACE啟用 SQL 追蹤僅診斷時設 TRUE;生產環境用 ALTER SESSION 臨時開啟
26TRANSACTIONS最大並發交易數大值需配大 SGA 與更多回滾段;預設 > PROCESSES 支援遞歸交易

調優核心心法

  1. 基線先行:收集 AWR/Statspack 建立效能基線。
  2. 單一變因:一次只調一參數,觀察負載測試結果。
  3. 關注瓶頸:針對 Top 5 等待事件調整對應參數,而非全盤掃描。
  4. 版本差異:10g 後多參數自動化(如 PGA_AGGREGATE_TARGET 取代 SORT_AREA_SIZE),優先使用自動管理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved