項目背景
醫療資訊系統要求 7×24 小時不間斷服務,採用雙機容錯方案提供高可用性保障。本文詳述基於天地 SLHA 3.0 容錯軟體、共享磁盤陣列的 Oracle 7.3.3 企業版雙機熱備架構部署全過程。
一、硬體與軟體基線配置
| 組件 | 主資料庫伺服器 (A機) | 備份伺服器 (B機) |
| 型號 | 富士通 Primergy MS-610 | 富士通 Team Server C870IE GP5C875 |
| CPU | 雙 Xeon 700MHz | 雙 Pentium III 700MHz |
| 記憶體 | 1GB | 1GB |
| 容錯軟體 | 天地 SLHA 3.0 |
| 共享存儲 | IQstore R1500 (雙 SCSI 接口) |
| 心跳連接 | RS-232 序列埠 + RJ-45 網線 |
| 作業系統 | Windows NT Server 4.0 SP5 |
| Oracle 版本 | 7.3.3 企業版 |
二、雙機容錯實施關鍵步驟
1. 作業系統與磁盤陣列初始化
- 分別於 A、B 機安裝 OS 及補丁;
- 磁盤管理器劃分邏輯盤 D、E,雙機均可見共享陣列。
2. Oracle 交叉安裝策略(核心關鍵)
- A 機安裝:關閉 B 機 → A 機安裝 Oracle 至 D 盤,歸檔日誌放 E 盤 → 將 3 個 Oracle 服務 (
OracleServiceORCL、OracleStartORCL、OracleTNSListener) 改為「手動」並停止;
- B 機安裝:關閉 A 機 → 格式化 D 盤(含 A 機建立的 Oracle 目錄) → B 機同樣安裝至 D 盤 → 同樣設服務為手動並停止。
設計精髓:Oracle 程式分別安裝於兩節點本地磁盤,數據文件、控制文件、日誌文件全部置於共享磁盤陣列。容錯軟體接管共享磁盤與 Oracle 服務,實現「軟體雙份、數據單份、服務單活」架構。
3. 容錯軟體配置與自動切換機制
- 雙節點分別安裝 SLHA 3.0;
- 配置受保護資源:共享磁盤 D、E 盤 + 3 個 Oracle 服務;
- 設定 A 機為 Active(生產端),B 機 Standby(備援端);
- 心跳檢測:RS-232 + 網路雙通道心跳,任一通道失效觸發切換;
- 自動切換流程:A 機故障 → 心跳偵測 → B 機接管共享磁盤 → 啟動 Oracle 服務 → 服務 IP/主機名漂移至 B 機 → 客戶端連接透明切換;
- 實測切換時間極短,客戶端影響可忽略不計。
三、運維關鍵點與避坑指南
- 服務手動模式強制執行:防止 OS 自動啟動導致雙活腦裂;
- 共享磁盤獨佔訪問:Active 節點獨佔,Standby 節點不可見,避免文件系統損壞;
- 歸檔日誌放共享存儲:確保切換後新節點可無縫續傳歸檔;
- 定期切換演練:每季度至少一次計劃性切換,驗證腳本、IP 漂移、應用重連邏輯;
- 監控告警覆蓋:心跳狀態、共享磁盤可用性、Oracle 服務狀態、應用連接數納入監控體系。
四、架構演進建議
現代環境建議升級至 Oracle RAC (Real Application Clusters) + Clusterware,實現真正的多活架構,突破單活限制,支撐線性擴展與滾動升級。但雙機容錯作為成熟、低成本、易維護的 HA 方案,在中小規模、非 RAC 技術棧場景下仍具備不可替代的工程價值。