本文專注於 Oracle 10g Express Edition (XE) 安裝後的關鍵參數調整,透過降低 SGA 目標值與提高 Processes 參數,在有限硬體資源下穩定支援開發測試負載。操作步驟精簡、可直接複製執行。
-- 1. 以 SYSDBA 登入
sqlplus sys as sysdba
-- 2. 檢視當前 SGA
SHOW PARAMETER sga_target;
-- 3. 降低 SGA 至 150M (原 572M)
ALTER SYSTEM SET sga_target = 150M SCOPE=SPFILE;
-- 4. 提高 Processes 至 200 (防連線耗盡)
ALTER SYSTEM SET processes = 200 SCOPE=SPFILE;
-- 5. 重啟生效
SHUTDOWN IMMEDIATE;
STARTUP;
-- 6. 驗證
SHOW PARAMETER sga_target;
SHOW PARAMETER processes;
| 參數 | 預設值 | 調整後 | 理由 |
|---|---|---|---|
| sga_target | 572 MB | 150 MB | XE 記憶體上限 1 GB,預設佔用過高擠壓 OS/IDE/瀏覽器,150M 足夠支援核心開發測試 |
| processes | ~40-60 | 200 | 連線池預設 20-50,並發測試易觸及上限導致 ORA-12516,200 給足緩衝 |
-- 確認記憶體實際配置
SELECT name, value/1024/1024 AS "MB" FROM v$parameter WHERE name IN ('sga_target','sga_max_size','pga_aggregate_target');
-- 確認 Processes 生效
SELECT value FROM v$parameter WHERE name = 'processes';
-- 模擬多連線測試 (需安裝 SQL*Plus 或使用連線池工具)
-- 觀察 alert_XE.log 是否有 "Processes limit reached" 警告
pga_aggregate_target=0 (自動),配合 workarea_size_policy=AUTO 即可,無需手動調整。UNDOTBS。expdp 匯出核心 Schema,而非依賴 RMAN。兩條 ALTER SYSTEM 指令 + 一次重啟,即可將 Oracle XE 從「資源佔用大戶」轉型為「開發友善型」輕量資料庫。