You are on page 1of 6

資訊分享│資料庫高可用性解決方案之探討-以 ORACLE 資料庫為例

資料庫高可用性解決方案之探討
─ 以 ORACLE 資料庫為例
蘇偉豪∕財金資訊公司研發部規劃組組長
蕭正立∕財金資訊公司研發部規劃組高級工程師

故障或維護,而導致服務中斷,損失的不僅是
一、前言
企業帳面收益,更將嚴重影響商譽,降低企業
全球化趨勢大師湯馬斯‧佛里曼(Thomas 競爭力。
L. Friedman)於西元 2005 年出版的暢銷書「世 現今所普及使用的資訊服務不外乎三種層
界是平的」中預言-「世界正被持續發展的新 面的組合:即資料傳遞之「資訊流」、款項支
科技與新作法所帶來的改變抹平中」,而抹平 付的「金流」與產品配送之「物流」,均與企
的世界是充滿無限商機的世界。拜科技進步之 業所建構的資訊系統有著密不可分的關係。維
賜,小公司得以搶得競爭的立足點,與大企業 持應用系統、伺服器、網路及儲存設備所構成
分食這被抹平的世界中所蘊藏的龐大商機而不 的平台之正常服務,以及過程中所產出的交易
被邊緣化,在各行各業不斷應用多元化的資訊 或紀錄資料之可用性-包含資料儲存、查詢、
及網路技術相互競合中,讓世界日新月異卻也 分析……等運用,均須仰賴穩定運作的資料庫
充滿不確定性。這個潮流自 90 年代發起,全 系統;故當資料庫系統面臨維護需求的計劃性
球網際網路快速開放,改變了企業與客戶間的 停機或系統異常的非計劃性停機時,將導致應
交易行為,促使電子商務蓬勃發展,讓使用者 用系統被迫中斷資訊服務。財金資訊公司(以
得以不受空間與時間的限制,透過各類資訊或 下稱財金公司)為國內重要金融資訊機構,負
通訊設備,使用應用程式或瀏覽器開啟網頁來 責提供金融機構及社會大眾便利的金流服務及
進行購物、繳費、聊天……等線上服務,企業 穩定安全的交易環境,故為達成服務不中斷的
藉由提供更貼近客戶需求的資訊服務來滿足使 目標,除持續改善資料庫系統的維護與管理作
用者以提高獲利,換句話說,使用者的忠誠度 業,強化系統監控與異常通報,並落實定期執
與滿意度實為業務能否成長的關鍵因素,若資 行資料庫復原演練外,近年來更致力於資料庫
訊服務系統經常性地「暫停服務」,勢必會讓 服務不中斷架構的導入與建置,以期提供更好
客戶對於提供該項服務的企業失去信心與耐 的資料庫服務品質。
心,轉往使用其他類似的服務。因此,企業無
二、資料庫高可用性技術概述
不努力維持資訊服務平台的穩定性,期待所提
供的資訊服務都可以像 7×24 的便利商店一 美商甲骨文資料庫系統(Oracle Database)
樣,持續開門做生意,永遠不打烊。如因系統 是開放式系統資料庫領域的指標性產品,擁有

46  財金資訊季刊∕No.73∕2013.01
資料庫高可用性解決方案之探討-以 ORACLE 資料庫為例│資訊分享

許多領先同業的技術。財金公司多項重要業務 料遺失。但主要伺服器(Primary Site)與備援


系統採用 Oracle 資料庫作為線上交易及批次 伺服器(Active Standby Site)間若發生連線
作業使用,以下概略介紹五項廣為業界所採用 異常,將導致主要資料庫關閉,造成服務中斷;
之高可用性解決方案: 且因本項模式須即時同步至備援資料庫,亦會
影響主要資料庫之效能。
(一 ) Oracle Data Guard
2. 最大可用性(Maximum Availability)
Oracle Data Guard 系統是一種具有高
可用性的災變復原(Disaster Recovery, DR) 本項模式與「最大防護」模式相似,但在
解 決 方 案 , 由 一 個 主 要 資 料 庫 ( Primary 主要伺服器與備援伺服器間發生連線異常時,
Database)提供服務,且同時維護並監控一個 不會因異常而導致主要資料庫關閉,而是切換
或多個備援資料庫(Standby Database),備 為「最大效能」模式繼續運作,並將 Redo 資
援資料庫透過持續更新 Redo 資訊與主要資料 料存放於佇列中,待錯誤修正後再恢復原模式
庫保持同步(如圖 1)。當主要資料庫因故停 繼續執行。
止服務時,備援資料庫可切換(Switch Over)
3. 最大效能(Maximum Performance)
為主要資料庫的角色,並接續提供資料庫服
務;備援資料庫平時亦可提供應用系統進行唯 本項模式為預設模式,對主要伺服器之效
讀查詢、產出報表等作業。 能影響最小,因其採取非同步確認,備援資料
庫與主要資料庫為非即時同步,資料防護與備
援的功能較為薄弱。

(二 ) Oracle GoldenGate

Oracle GoldenGate 是具備高性能的資料


整合解決方案,主要應用於即時交易資料的單
向或雙向同步複製,且可運作於同質或異質資
料庫(如圖 2)。

圖1 Oracle Data Guard 示意圖

備援資料庫可依資料防護的強度及對於主
要資料庫效能的影響程度,分為三種執行模式:

1. 最大防護(Maximum Protection)

本項模式具有最佳的資料防護與備援功
能,能確保在備援資料庫不會發生任何交易資 圖2 Oracle GoldenGate 示意圖

www.fisc.com.tw  47
資訊分享│資料庫高可用性解決方案之探討-以 ORACLE 資料庫為例

其應用效益說明如下: 時,仍有其他節點正常運作,持續提供資料庫
服務。其效益具「高可用性」及「高延展性」
1. 即時資料複製
兩大特性,利於確保服務不中斷,說明如下:
可即時擷取來源資料庫(Source Database)
的交易資料,同步更新至目標資料庫(Target
Database),本項作業對系統效能影響甚低,
可使來源端與目標端資料維持一致。

2. 整合企業資料

來源端與目標端資料庫可為不同廠牌的資
料庫產品,可作為企業整合異質資料庫的工
具,將企業內部各系統的資料集中管理與應用。

3. 主機及資料庫升級

來源端與目標端資料庫可為不同平台主
機、不同版本的資料庫,可作為資料庫升級或
圖3 Oracle RAC 資料庫示意圖
移機的工具,並可降低因升級或移機造成的停
機時間。
1. 持續運作(Continuous Operations)
4. 平衡系統負載
Oracle RAC 所提供的雙活(Active-Active)
將應用系統資料複製並存放於多部資料庫 架構,克服計劃性的系統維護或突發性的系
主機,分散單一資料庫系統之負載,以提高效 統 異 常 所 造 成 的 單 點 故 障 ( Single Point of
能。 Failure, SPOF),使服務不中斷的資料庫系統
得以真正實現。當任何一個節點發生單點故障
5. 資料庫備援機制
時,其他節點仍可正常維持運作,以提供應用
透過資料複製功能建立資料庫備援機制, 系統的資料存取;且大部分的資料庫維護作業
當來源資料庫異常時,應用系統可切換至目標 可採輪替(Rolling Maintenance)方式進行,
資料庫,以持續提供服務。 有效提高資料庫系統的可靠性(Reliability)。

(三 ) Oracle Real Application Clusters 2. 可復原性(Recoverability)

Oracle Real Application Clusters(以下簡 Oracle RAC 資料庫可透過 Oracle 叢集軟


稱 Oracle RAC)是甲骨文公司所提供的資料 體自動監看叢集資源中的任何問題,並快速採
庫高可用性解決方案,透過叢集架構中多部資 取相對應之處理方法,如重啟叢集系統管理程
料庫主機節點同時提供資料庫服務(如圖 3), 序、自動復原資料庫或重新啟動資料庫主機。
當叢集之中某節點發生故障,或是須停機維護

48  財金資訊季刊∕No.73∕2013.01
資料庫高可用性解決方案之探討-以 ORACLE 資料庫為例│資訊分享

3. 可擴充性(Scalability) (五 ) Oracle 最高可用性架構(Maximum


Availability Architecture, MAA)
隨著業務交易成長,資料庫主機面對更繁
重的資料處理需求時,以往大多採取於資料庫 Oracle MAA 為甲骨文公司所提供的最佳
主機配置更多的處理器或記憶體方式來提升效 高可用性實作架構,包含上述 Oracle RAC 與
能,或是採購更高規格的伺服器來取代原主 Oracle Data Guard 功能,具備多種高可用性、
機。Oracle RAC 可提供橫向擴充的方式,在 容錯性及復原功能,期使資料庫系統展現最大
服務不中斷的前提下,動態加入更多叢集節 的可用性(如圖 5)。
點,以提高整體資料庫系統的負載能力;新增
的叢集伺服器可為不同等級的硬體規格,但作
業系統與資料庫版本則必須相同。

(四 ) Oracle RAC on Extended Distance


Clusters

Oracle RAC 架構係為提高資料庫同地備


援高可用性所設計的解決方案,叢集所有節點
均建置於同一資料中心;但隨著儲存設備及網
路傳輸技術的進步,演進至遠距使用 Oracle
RAC 的 架 構 - Oracle RAC on Extended 圖5 Oracle MAA 示意圖
Distance Clusters(如圖 4)。遠距離的高可
三、資料庫高可用性解決方案之應用
用性架構看似適用於異地備援之解決方案,但
實際上距離亦成為其限制與風險,相關技術文 前述五項 ORACLE 資料庫高可用性解決
件建議兩地距離以不超過 100 公里為限,兩地 方案,可應用於建置同地或異地之備援架構,
之間的同步須倚賴獨立而專用之網路專線,若 其特點如下:
建置得當,則可提供比同地 Oracle RAC 資料 (一) Oracle Data Guard 為甲骨文公司主要之
庫更高的可用性。 資料庫異地災難備援解決方案,平時除可
為主要資料庫非預期損毀之備援,亦可用
來執行報表及備份作業,有效分散主要資
料庫負載。
(二) Oracle GoldenGate 為甲骨文公司近期力
推之即時資料複製解決方案,其來源端與
目的端的資料庫可為不同廠牌或不同版
本,但其資料同步功能未支援所有資料型
別或操作方式。
圖4 Extended Oracle RAC 示意圖 (三) Oracle RAC 為甲骨文公司主推之資料庫

www.fisc.com.tw  49
資訊分享│資料庫高可用性解決方案之探討-以 ORACLE 資料庫為例

同地備援解決方案,以雙活主機互為備援 備援架構。在執行單一伺服器資料庫轉置至
方式提供資料庫服務,其叢集架構並具備 Oracle RAC 資 料 庫 的 過 程 中 , 須 先 啟 動
擴充節點之高延展性。 GoldenGate 系統架構所提供的資料庫同步功
(四) Oracle RAC on Extended Distance Clusters 能,確認來源端與目標端的資料保持一致後,
為 RAC 架構所演變產生之有距離限制的 實際進行資料庫轉置作業時,僅須調整應用系
異地備援解決方案,可避免單一儲存設備 統的資料庫連線設定,預估服務中斷時間約 10
失敗之風險。 分鐘內,即可完成 Oracle RAC 系統轉置。
(五) Oracle MAA 為甲骨文公司所建議之最高 待完成 Oracle RAC 系統建置後,當單一
等級同地及異地備援架構,兼具 Oracle 主機進行計劃性維護或非計劃性異常停機時,
RAC 與 Data Guard 之特性,堪稱最全面 另一部主機可持續提供服務,原連接於維護中
之資料庫高可用性解決方案,其建置成本 的資料庫主機之應用程式,估計約略可於 1 分
相對最高。 鐘內完成連線切換(如下表),以達成資料庫
系統服務不中斷之目標。
規劃資料庫高可用性解決方案之應用時,
建置階段 完成建置 完成建置
首要考量導致資料庫服務中斷之原因,以「計 建置前 Oracle
Oracle RAC
備援功能 GoldenGate
劃性停機」與「非計劃性停機」兩大類型,對 高可用 IBM Oracle Oracle
資料庫主機
備援機制 HACMP GoldenGate RAC
應甲骨文公司所建議之解決方案,分列如下表: 計劃性停機
服務接管時間 約 40 分鐘 約 20 分鐘 1 分鐘內
高可用 IBM IBM Oracle
資料庫主機
停機類型 停 機 原 因 高可用性建議方案 備援機制 HACMP HACMP RAC
非計劃性停機
Data Guard 服務接管時間 約 20 分鐘 約 20 分鐘 1 分鐘內
災變發生,啟動異地備援作業 GoldenGate
MAA
RAC 財金公司未來除持續進行線上交易處理
Data Guard
資料庫主機異常或損毀
GoldenGate
非計劃性
MAA
(OLTP)相關業務系統之資料庫同地備援架
停 機
Data Guard 構建置外,關於批次作業、統計報表或歷史交
儲存設備異常或損毀 GoldenGate
MAA
易查詢……等相關應用系統之高可用性作業,
Data Guard
資料庫異常或損毀 GoldenGate 將透過資料庫異地備援方案之規劃,建置異地
MAA

資料庫主機硬體維護
RAC 備援伺服器,平時可分散主中心設備之資料存
Data Guard
RAC 取負載,充分運用備援環境之設備與資源,並
作業系統更新或系統參數調整
Data Guard
計 劃 性
RAC
提高主中心的營運效能;災變時則可快速接管
停 機
資料庫軟體更新或參數調整 Data Guard
GoldenGate 主中心作業以提供服務。
Data Guard
資料庫版本升級
GoldenGate

四、資料庫高可用性技術未來展望
財 金 公 司 已 於 民 國 100 年 度 完 成 建 置
Oracle 資料庫高可用度 GoldenGate 系統架 甫於今(101)年 10 月初於美國舊金山落
構,101 年度延續上述架構,建置 Oracle RAC 幕的 Oracle 年度盛會「Oracle OpenWorld
系統,以取代資料庫主機原有的 IBM HACMP 2012」,一如往年,Oracle 資料庫高可用性的

50  財金資訊季刊∕No.73∕2013.01
資料庫高可用性解決方案之探討-以 ORACLE 資料庫為例│資訊分享

議題仍是研討重點。甲骨文公司首席執行長 設計周全的備援計畫外,為維持高可用性架構
Larry Ellison 於開幕演講中,發表以下四項與 的可靠性,包括系統日常例行維運、即時監控
資料庫系統及雲端運算技術有關的重要產品: 及告警機制、定期測試演練及提升管理人員的
(一) Oracle IaaS、(二) Oracle Private Cloud、 專業能力……等方面,均不容忽視,如此才能
(三) Oracle Database 12c、(四) Oracle Exadata 確實發揮資料庫高可用性架構的運作,實現整
X3 , 並 同 時 宣 布 下 一 版 本 資 料 庫 Oracle 體資訊服務不中斷的目的,並達成企業提升獲
Database 12c(其中 “c” 代表 “Cloud”)預定於 利與永續經營的目標。
2013 年上市。可以預見新一代的 Oracle 資料
庫系統將朝向雲端服務模式發展,而其可用性 參考文獻/資料來源

之設計則須整體考量雲端伺服器平台及環境基 1. 美商甲骨文網站,http://www.oracle.com/。
2. Oracle Support 網站,https://support.oracle.com/。
礎架構之統合,以期提供資料庫高效能的執行
3. 維基百科網站,http://en.wikipedia.org/。
負載,且兼具最高的可靠性、可用性和安全性。 4. Oracle Database 11g High Availability (William Hodak,
Sushil Kumar, 2007, Oracle Corporation).

五、結語 5. Oracle Database 11g Release 2 High Availability (Cris


Pedregal, Ashish Ray, 2010, Oracle Corporation).
6. Oracle Database High Availability Overview 11g Release
筆者曾在網路上看到某位企業經營者說過
2 (Virginia Beecher, Viv Schupmann, Janet Stern, 2011,
的一段話:「未來網際網路界有幾種人可以賺 Oracle Corporation).
到錢:擁有資料庫的人、整理資料庫的人、管 7. Oracle OpenWorld 2012 議程資料。
理資料庫的人,以及應用資料庫的人」,這句
話或許有點言過其實,但也突顯出資料庫在各
類資訊系統中的重要性。營運資料是企業重要
的業務資產,擁有穩定的資料庫高可用性架
構,除可提供線上交易系統穩定且有效率的資
料存取服務外,另可應用於資料統計分析處
理,幫助企業正確決策以搶得商機,因為唯有
掌握趨勢才有競爭力。
企業為提升其競爭力,無不全力維持穩健
營運與其商譽價值,藉著建構穩定的基礎架構
及彈性的資訊平台,以期加速其業務推展,提
升客戶對資訊服務平台的滿意度,並因應不斷
變化的業務需求。在維持資料高度可用並妥善
保護管理的前提下,配合標準化的應用系統設
計,能善用資源以提升資料存取量能,來提供
客戶穩定便捷的服務;而在資料庫系統的高可
用性方面,除仰賴供應商所提供的解決方案、

www.fisc.com.tw  51

You might also like