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

Windows 2000 上優化 Oracle 9i 效能:記憶體、I/O、CPU 全方位調校

     編輯:MySQL 資料庫相關知識

磁碟 I/O 子系統

  • 建檔前先碎片整理:關閉資料庫實例、停止服務,確保連續空間,避免資料檔碎片。
  • 禁用壓縮與加密:Oracle 資料檔不支援 NTFS 壓縮/加密,會增加 CPU 與 I/O 延遲;敏感資料改用 DBMS_OBFUSCATION_TOOLKIT 或 Label Security 選擇性加密。
  • 預留 30% 磁碟空間:供系統暫存檔、碎片整理中繼資料使用。
  • RAID 選型:硬體 RAID > 軟體 RAID;Redo Log 勿放 RAID 5(寫入效能差),應置於獨立控制器的 RAID 1/10 卷。
  • 分離分頁檔:跨 ≥2 顆實體磁碟建立多個分頁檔,總大小 ≥ 2× 實體記憶體。

CPU 使用與配置

  • 關閉螢幕保護程式:特別是 3D 類,佔用大量 CPU;必須用請設「空白」。
  • 系統效能調整為「背景服務」:控制台 → 系統 → 進階 → 效能選項 → 「背景服務」,讓 Oracle 服務取得優先排程。
  • 監控硬體中斷:效能監視器觀察 Processor\% Interrupt Time,基線偏高時檢查網卡、磁碟控制器是否支援 DMA/總線主控;優先換硬體 RAID 卡替代軟體 RAID。
  • 精簡安全稽核:僅稽核關鍵事件,減少 CPU 額外負擔。
  • 專機專用:勿在同台機器跑 DC、檔案/列印/遠端存取/路由/防火牆等角色。
  • 停用非必要服務:列印服務、License Logging 等設為「手動」。

記憶體調整(核心)

參數建議值/策略說明
SGA_MAX_SIZE 實體記憶體 50%-70% Win2000 4GB 限制下,留足 OS 與 PGA 空間
DB_BLOCK_BUFFERS 配合 DB_BLOCK_SIZE 佔 SGA 60%-70% 9i 尚未自動管理,需手動計算
SHARED_POOL_SIZE 100-300 MB 視 SQL 共用程度調整,避免 ORA-04031
LARGE_POOL_SIZE 16-64 MB 備份/還原、共用伺服器需求
SORT_AREA_SIZE 2-10 MB/連線 配合 PGA_AGGREGATE_TARGET (9i R2+)
LOG_BUFFER 1-3 MB 過大無益,觀察 log buffer space 等待調整

關鍵作業系統參數

REM 在 registry 或 system.ini 設定
[386Enh]
ConservativeSwapfileUsage=1
PageBuffers=32768
  • ConservativeSwapfileUsage=1:延遲交換檔使用,優先用實體記憶體。
  • PageBuffers:增加檔案系統快取,減少磁碟讀取。

驗證成效指標

  1. V$SYSSTAT:buffer cache hit ratio > 95%、library cache hit ratio > 99%。
  2. V$SYSTEM_EVENT:db file scattered read、log file sync 等待時間佔比下降。
  3. 應用端回應時間 P95 降低 30% 以上。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved