| 維度 | 專用連線 | 共享連線 |
|---|---|---|
| 連線模型 | 一對一:每用戶進程獨佔一 Server Process | 多對一:多用戶進程共享少量 Shared Server Process |
| 記憶體分配 | PGA (私有):sort_area_size、session info、stack | SGA Large Pool:sort_area_size、UGA |
| 建立開銷 | 連線時動態建立 PGA | 實例啟動預啟動 Shared Server,Dispatcher 分派 |
| 適用負載 | 長事務、大事務、複雜查詢、高併發低用戶數 | 短事務、高併發用戶數、Web/OLTP 簡單交易 |
| 擴展瓶頸 | 進程數受 OS 限制,記憶體線性增長 | Dispatcher/Shared Server 成瓶頸,排隊延遲 |
PGA_AGGREGATE_TARGET 控制總 PGA 上限,WORKAREA_SIZE_POLICY=AUTO 自動管理作業區。SORT_AREA_SIZE (手動模式) 決定排序記憶體,不足時分段溢寫臨時表空間 (大排序原理)。LARGE_POOL_SIZE / SGA_TARGET 控制。核心矛盾:OLTP 典型特徵 = 長事務/大事務 (多步業務邏輯原子性)。共享連線要求「請求極快完成」。
實測案例:200 併發請求 / 10 Shared Server。若 1 請求佔用 Shared Server 30 秒 (長事務),其餘 190 請求排隊等待,吞吐量崩塌,響應時間指數級增長。
結論:長事務與共享連線互斥。OLTP 必須採用專用連線,或改造業務拆分為短事務 (微服務化) 後方可評估共享連線。
| 業務特徵 | 推薦連線模式 | 備註 |
|---|---|---|
| 核心交易、批次處理、複雜報表、長鎖持有 | 專用連線 | 預設模式,最穩健 |
| Web 門戶、高併發簡單查詢/更新、會話極短 | 共享連線 | 配合連線池效果最佳 |
| 混合負載 | 專用 + 共享 共存 | 服務名區分:SERVICE_NAME=OLTP (專用) / SERVICE_NAME=WEB (共享) |
-- 專用連線 (預設無需額外配置)
-- 共享連線啟用
ALTER SYSTEM SET DISPATCHERS='(PROTOCOL=TCP)(DISPATCHERS=5)';
ALTER SYSTEM SET SHARED_SERVERS=10;
ALTER SYSTEM SET MAX_SHARED_SERVERS=50;
ALTER SYSTEM SET LARGE_POOL_SIZE=100M; -- 非 AUTO 時