磁碟 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:增加檔案系統快取,減少磁碟讀取。
驗證成效指標
V$SYSSTAT:buffer cache hit ratio > 95%、library cache hit ratio > 99%。
V$SYSTEM_EVENT:db file scattered read、log file sync 等待時間佔比下降。
- 應用端回應時間 P95 降低 30% 以上。