超大型系統特徵
- 用戶百萬~千萬級,資料量 1TB+。
- 7×24 無停機,極高可用性與擴展性要求。
典型架構:雙節點/多節點 Oracle RAC(舊稱 Parallel Server)+ 共享存儲(SAN/ASM)。
一、 RAC 應用劃分策略:最小化 Ping
RAC 核心挑戰:Cache Fusion 透過高速互連傳輸區塊,但若多節點頻繁爭用同一區塊(True Ping)或同一 PCM 鎖覆蓋不同熱區塊(False Ping),性能急劇下降。
四大劃分維度
- 功能模組劃分: 不同節點跑不同業務模組(如節點 1 跑訂單,節點 2 跑財務)。
- 用戶群劃分: 內部員工 vs 外部客戶、地區性分流。
- 數據劃分: 不同節點訪問不同分區/表空間(配合 Partitioning)。
- 時間劃分: 批次作業夜間跑節點 2,白天節點 1 服務線上交易。
兩大鐵律
- 最小化 True Ping(業務邏輯隔離)。
- 節點負載均衡(避免單節點熱點)。
二、 物理結構設計
表/索引儲存參數
- 依記錄長 × 預估最大筆數估算空間,含區塊頭、列頭開銷。
INITIAL = NEXT、PCTINCREASE = 0,避免動態擴展碎片。
表空間規劃原則
- 按業務域/生命週期分表空間:
SYSTEM、SYSAUX、UNDO、TEMP、DATA_<域>、INDEX_<域>、LOB_<域>。
- 資料與索引分離置於不同 LUN/ASM 磁碟組,平衡 I/O。
Redo Log 與 Undo
- 至少 3 組 Redo Log 群組,每組多路復寫,單組大小以 15~20 分鐘切換為準。
- Undo 表空間啟用保留保證,配合
UNDO_RETENTION 滿足長查詢/Flashback。
三、 磁碟/存儲劃分
| 用途 | 建議 RAID | ASM 磁碟組 |
| Redo Log | RAID 1/10 (低延遲、高寫入) | +REDO (Normal/High Redundancy) |
| Data / Index | RAID 10 或 RAID 5/6 (視成本) | +DATA / +INDEX |
| Undo / Temp | RAID 10 | +UNDO / +TEMP |
| Controlfile / SPFILE / Password | RAID 1 | +MGMT / +OCRVD (若用 GI) |
關鍵:控制檔、OCR、投票盤、Redo Log **必須多路復寫且跨控制器/機架**。
四、 備份與恢復策略
- RMAN 為主: 級別 0/1 增量備份,配合
BLOCK CHANGE TRACKING 加速增量。
- 歸檔日誌: 多路復寫至備援站點,Data Guard 實時應用。
- 恢復演練: 季度級完整恢復演練,驗證 RTO/RPO。
- 邏輯備份補充: 關鍵參考表 `Data Pump` 導出,便於單表級恢復。
總結
大型 Oracle 架構設計是「業務劃分、物理隔離、存儲分層、備份分級」四位一體的系統工程。RAC 應用劃分決定 Ping 多寡,物理結構決定 I/O 平衡,存儲規劃決定故障域邊界,備份策略決定災難生存線。缺一不可。
- 上一篇文章: Oracle 索引設計三部曲:對的表、對的欄位、對的數量
- 下一篇文章: 徹底刪除 Oracle 表:繞過回收站的 PURGE 與 DROP PURGE 完全指南
Copyright ©
程式碼之家 All Rights Reserved