基于Oracle數(shù)據(jù)庫高可用解決方案
數(shù)據(jù)庫服務器高可用方案設計
為保證服務器的最大可用性和高可用性,此次方案設計中建議使用 Oracle(RAC)的解決方案。 Oracle 真正應用集群(RAC)允許Oracle數(shù)據(jù)庫實現(xiàn)在一組集群服務器上運行任何程序包和客戶而不必作任何更改。這種體系提供了最高級別的可用性和最靈活的可伸縮性。如果出現(xiàn)中其中一個服務器出現(xiàn)損壞,Oracle會繼續(xù)運行在集群中其它服務器上,避免了因服務器宕機帶來的單點故障。并且如果服務器性能如不能滿足系統(tǒng)需求時,除了升級服務器配置外,還可以通過添加您需要更多的處理能力。
RAC中我們可以把Oracle 實例(運行在服務器上的真來訪問數(shù)據(jù)的進程和內(nèi)存結構)與Oracle數(shù)據(jù)庫(在存儲設備上的實際數(shù)據(jù)的物理結構,也就是通常所說的數(shù)據(jù)文件)進行分離。一個集群數(shù)據(jù)庫是一個可為多個實例訪問的單一數(shù)據(jù)庫。在集群中,每個實例在各自的服務器上運行。當需要添加額外的資源時,可以在不停機的情況下很容易地增加節(jié)點和實例。一旦新的實例啟動,應用程序通過服務可以馬上利用到,而無需修改應用或應用服務器。
此次項目中,我們將兩臺X3850X5服務器安裝ORACLE標準版,搭建 RAC群集,通過RAC群集的高可用性方案避免了因單服務器宕機帶來的系統(tǒng)服務的停止。
存儲層容災方案設計
存儲方案中,我們建議采用基于Oracle ASM的 SAN網(wǎng)絡 集中存儲方式。這是Oracle 數(shù)據(jù)庫11g 里內(nèi)置的功能,可用為數(shù)據(jù)庫提供自動的存儲管理。針對市醫(yī)保、鐵路醫(yī)保數(shù)據(jù)要求的存儲端需要實時互備功能,自動切換功能。方案推薦使用Oracle ASM 管理IBMD3500 A、B兩個存儲,部署為基于ASM的雙向鏡像模式。保證數(shù)據(jù)的安全性的同時保證了系統(tǒng)的高可用性。
如果當任何一個存儲出現(xiàn)宕機或數(shù)據(jù)損壞時,由ASM負責進行平滑自動切換至另一正常存儲中,當損壞存儲修復完畢,通過命令ASM將進行自動同步將數(shù)據(jù)恢復至一致狀態(tài)。并且數(shù)據(jù)庫中數(shù)據(jù)在A陣列與B陣列中各有一份。在根本上保證了數(shù)據(jù)的安全。
SAN鏈路設計,因IBM DS3500系列存儲雙控制器本身自帶兩個6Gb SAS接口,并通過在IBM DS3500加裝ISCSI擴展子卡使存儲自身具有ISCSI與SAS兩種聯(lián)接方式。將RAC數(shù)據(jù)庫 IBM 3850 X5服務器通過SAS聯(lián)接磁盤陣列。另兩臺需要數(shù)據(jù)備份的服務器通過WINDOWS ISCSI客戶端與DS3500存儲進行聯(lián)接。
將每個存儲中劃分兩個分區(qū)。分別做為ORACLE ASM數(shù)據(jù)區(qū)、ORACLE數(shù)據(jù)備份區(qū)。
2 ORACLE ASM數(shù)據(jù)區(qū):負責ORACLE 數(shù)據(jù)存儲,通過ASM將兩個存儲中的數(shù)據(jù)做同步鏡像。滿足系統(tǒng)項目的高可用設計。
2 ORACLE數(shù)據(jù)備份區(qū): ORACLE備份數(shù)據(jù)存放。