資料庫高可用性解決方案之探討 - 財金資訊股份有限公司

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

Transcript of 資料庫高可用性解決方案之探討 - 財金資訊股份有限公司

46 財金資訊季刊∕No.73∕2013.01

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

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

蕭正立∕財金資訊公司研發部規劃組高級工程師

一、前言

全球化趨勢大師湯馬斯‧佛里曼(Thomas

L. Friedman)於西元 2005 年出版的暢銷書「世

界是平的」中預言-「世界正被持續發展的新

科技與新作法所帶來的改變抹平中」,而抹平

的世界是充滿無限商機的世界。拜科技進步之

賜,小公司得以搶得競爭的立足點,與大企業

分食這被抹平的世界中所蘊藏的龐大商機而不

被邊緣化,在各行各業不斷應用多元化的資訊

及網路技術相互競合中,讓世界日新月異卻也

充滿不確定性。這個潮流自 90 年代發起,全

球網際網路快速開放,改變了企業與客戶間的

交易行為,促使電子商務蓬勃發展,讓使用者

得以不受空間與時間的限制,透過各類資訊或

通訊設備,使用應用程式或瀏覽器開啟網頁來

進行購物、繳費、聊天……等線上服務,企業

藉由提供更貼近客戶需求的資訊服務來滿足使

用者以提高獲利,換句話說,使用者的忠誠度

與滿意度實為業務能否成長的關鍵因素,若資

訊服務系統經常性地「暫停服務」,勢必會讓

客戶對於提供該項服務的企業失去信心與耐

心,轉往使用其他類似的服務。因此,企業無

不努力維持資訊服務平台的穩定性,期待所提

供的資訊服務都可以像 7×24 的便利商店一

樣,持續開門做生意,永遠不打烊。如因系統

故障或維護,而導致服務中斷,損失的不僅是

企業帳面收益,更將嚴重影響商譽,降低企業

競爭力。

現今所普及使用的資訊服務不外乎三種層

面的組合:即資料傳遞之「資訊流」、款項支

付的「金流」與產品配送之「物流」,均與企

業所建構的資訊系統有著密不可分的關係。維

持應用系統、伺服器、網路及儲存設備所構成

的平台之正常服務,以及過程中所產出的交易

或紀錄資料之可用性-包含資料儲存、查詢、

分析……等運用,均須仰賴穩定運作的資料庫

系統;故當資料庫系統面臨維護需求的計劃性

停機或系統異常的非計劃性停機時,將導致應

用系統被迫中斷資訊服務。財金資訊公司(以

下稱財金公司)為國內重要金融資訊機構,負

責提供金融機構及社會大眾便利的金流服務及

穩定安全的交易環境,故為達成服務不中斷的

目標,除持續改善資料庫系統的維護與管理作

業,強化系統監控與異常通報,並落實定期執

行資料庫復原演練外,近年來更致力於資料庫

服務不中斷架構的導入與建置,以期提供更好

的資料庫服務品質。

二、資料庫高可用性技術概述

美商甲骨文資料庫系統(Oracle Database)

是開放式系統資料庫領域的指標性產品,擁有

www.fisc.com.tw 47

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

許多領先同業的技術。財金公司多項重要業務

系統採用 Oracle 資料庫作為線上交易及批次

作業使用,以下概略介紹五項廣為業界所採用

之高可用性解決方案:

(一) Oracle Data Guard

Oracle Data Guard 系統是一種具有高

可用性的災變復原(Disaster Recovery, DR)

解決方案,由一個主要資料庫( Primary

Database)提供服務,且同時維護並監控一個

或多個備援資料庫(Standby Database),備

援資料庫透過持續更新 Redo 資訊與主要資料

庫保持同步(如圖 1)。當主要資料庫因故停

止服務時,備援資料庫可切換(Switch Over)

為主要資料庫的角色,並接續提供資料庫服

務;備援資料庫平時亦可提供應用系統進行唯

讀查詢、產出報表等作業。

圖 1 Oracle Data Guard 示意圖

備援資料庫可依資料防護的強度及對於主

要資料庫效能的影響程度,分為三種執行模式:

1. 最大防護(Maximum Protection)

本項模式具有最佳的資料防護與備援功

能,能確保在備援資料庫不會發生任何交易資

料遺失。但主要伺服器(Primary Site)與備援

伺服器(Active Standby Site)間若發生連線

異常,將導致主要資料庫關閉,造成服務中斷;

且因本項模式須即時同步至備援資料庫,亦會

影響主要資料庫之效能。

2. 最大可用性(Maximum Availability)

本項模式與「最大防護」模式相似,但在

主要伺服器與備援伺服器間發生連線異常時,

不會因異常而導致主要資料庫關閉,而是切換

為「最大效能」模式繼續運作,並將 Redo 資

料存放於佇列中,待錯誤修正後再恢復原模式

繼續執行。

3. 最大效能(Maximum Performance)

本項模式為預設模式,對主要伺服器之效

能影響最小,因其採取非同步確認,備援資料

庫與主要資料庫為非即時同步,資料防護與備

援的功能較為薄弱。

(二) Oracle GoldenGate

Oracle GoldenGate 是具備高性能的資料

整合解決方案,主要應用於即時交易資料的單

向或雙向同步複製,且可運作於同質或異質資

料庫(如圖 2)。

圖 2 Oracle GoldenGate 示意圖

48 財金資訊季刊∕No.73∕2013.01

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

其應用效益說明如下:

1. 即時資料複製

可即時擷取來源資料庫(Source Database)

的交易資料,同步更新至目標資料庫(Target

Database),本項作業對系統效能影響甚低,

可使來源端與目標端資料維持一致。

2. 整合企業資料

來源端與目標端資料庫可為不同廠牌的資

料庫產品,可作為企業整合異質資料庫的工

具,將企業內部各系統的資料集中管理與應用。

3. 主機及資料庫升級

來源端與目標端資料庫可為不同平台主

機、不同版本的資料庫,可作為資料庫升級或

移機的工具,並可降低因升級或移機造成的停

機時間。

4. 平衡系統負載

將應用系統資料複製並存放於多部資料庫

主機,分散單一資料庫系統之負載,以提高效

能。

5. 資料庫備援機制

透過資料複製功能建立資料庫備援機制,

當來源資料庫異常時,應用系統可切換至目標

資料庫,以持續提供服務。

(三) Oracle Real Application Clusters

Oracle Real Application Clusters(以下簡

稱 Oracle RAC)是甲骨文公司所提供的資料

庫高可用性解決方案,透過叢集架構中多部資

料庫主機節點同時提供資料庫服務(如圖 3),

當叢集之中某節點發生故障,或是須停機維護

時,仍有其他節點正常運作,持續提供資料庫

服務。其效益具「高可用性」及「高延展性」

兩大特性,利於確保服務不中斷,說明如下:

圖 3 Oracle RAC 資料庫示意圖

1. 持續運作(Continuous Operations)

Oracle RAC 所提供的雙活(Active-Active)

架構,克服計劃性的系統維護或突發性的系

統異常所造成的單點故障(Single Point of

Failure, SPOF),使服務不中斷的資料庫系統

得以真正實現。當任何一個節點發生單點故障

時,其他節點仍可正常維持運作,以提供應用

系統的資料存取;且大部分的資料庫維護作業

可採輪替(Rolling Maintenance)方式進行,

有效提高資料庫系統的可靠性(Reliability)。

2. 可復原性(Recoverability)

Oracle RAC 資料庫可透過 Oracle 叢集軟

體自動監看叢集資源中的任何問題,並快速採

取相對應之處理方法,如重啟叢集系統管理程

序、自動復原資料庫或重新啟動資料庫主機。

www.fisc.com.tw 49

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

3. 可擴充性(Scalability)

隨著業務交易成長,資料庫主機面對更繁

重的資料處理需求時,以往大多採取於資料庫

主機配置更多的處理器或記憶體方式來提升效

能,或是採購更高規格的伺服器來取代原主

機。Oracle RAC 可提供橫向擴充的方式,在

服務不中斷的前提下,動態加入更多叢集節

點,以提高整體資料庫系統的負載能力;新增

的叢集伺服器可為不同等級的硬體規格,但作

業系統與資料庫版本則必須相同。

(四) Oracle RAC on Extended Distance

Clusters

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

援高可用性所設計的解決方案,叢集所有節點

均建置於同一資料中心;但隨著儲存設備及網

路傳輸技術的進步,演進至遠距使用 Oracle

RAC 的架構- Oracle RAC on Extended

Distance Clusters(如圖 4)。遠距離的高可

用性架構看似適用於異地備援之解決方案,但

實際上距離亦成為其限制與風險,相關技術文

件建議兩地距離以不超過 100 公里為限,兩地

之間的同步須倚賴獨立而專用之網路專線,若

建置得當,則可提供比同地 Oracle RAC 資料

庫更高的可用性。

圖 4 Extended Oracle RAC 示意圖

(五) Oracle 最高可用性架構(Maximum

Availability Architecture, MAA)

Oracle MAA 為甲骨文公司所提供的最佳

高可用性實作架構,包含上述 Oracle RAC 與

Oracle Data Guard 功能,具備多種高可用性、

容錯性及復原功能,期使資料庫系統展現最大

的可用性(如圖 5)。

圖 5 Oracle MAA 示意圖

三、資料庫高可用性解決方案之應用

前述五項 ORACLE 資料庫高可用性解決

方案,可應用於建置同地或異地之備援架構,

其特點如下:

(一) Oracle Data Guard 為甲骨文公司主要之

資料庫異地災難備援解決方案,平時除可

為主要資料庫非預期損毀之備援,亦可用

來執行報表及備份作業,有效分散主要資

料庫負載。

(二) Oracle GoldenGate 為甲骨文公司近期力

推之即時資料複製解決方案,其來源端與

目的端的資料庫可為不同廠牌或不同版

本,但其資料同步功能未支援所有資料型

別或操作方式。

(三) Oracle RAC 為甲骨文公司主推之資料庫

50 財金資訊季刊∕No.73∕2013.01

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

同地備援解決方案,以雙活主機互為備援

方式提供資料庫服務,其叢集架構並具備

擴充節點之高延展性。

(四) Oracle RAC on Extended Distance Clusters

為 RAC 架構所演變產生之有距離限制的

異地備援解決方案,可避免單一儲存設備

失敗之風險。

(五) Oracle MAA 為甲骨文公司所建議之最高

等級同地及異地備援架構,兼具 Oracle

RAC 與 Data Guard 之特性,堪稱最全面

之資料庫高可用性解決方案,其建置成本

相對最高。

規劃資料庫高可用性解決方案之應用時,

首要考量導致資料庫服務中斷之原因,以「計

劃性停機」與「非計劃性停機」兩大類型,對

應甲骨文公司所建議之解決方案,分列如下表:

停機類型 停 機 原 因 高可用性建議方案

災變發生,啟動異地備援作業 Data Guard GoldenGate MAA

資料庫主機異常或損毀

RAC Data Guard GoldenGate MAA

儲存設備異常或損毀 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 年度延續上述架構,建置 Oracle RAC

系統,以取代資料庫主機原有的 IBM HACMP

備援架構。在執行單一伺服器資料庫轉置至

Oracle RAC 資料庫的過程中,須先啟動

GoldenGate 系統架構所提供的資料庫同步功

能,確認來源端與目標端的資料保持一致後,

實際進行資料庫轉置作業時,僅須調整應用系

統的資料庫連線設定,預估服務中斷時間約 10

分鐘內,即可完成 Oracle RAC 系統轉置。

待完成 Oracle RAC 系統建置後,當單一

主機進行計劃性維護或非計劃性異常停機時,

另一部主機可持續提供服務,原連接於維護中

的資料庫主機之應用程式,估計約略可於 1 分

鐘內完成連線切換(如下表),以達成資料庫

系統服務不中斷之目標。

建置階段

備援功能 建置前

完成建置

Oracle GoldenGate

完成建置

Oracle RAC

高可用

備援機制

IBM

HACMP

Oracle

GoldenGate

Oracle

RAC 資料庫主機

計劃性停機 服務接管時間 約 40 分鐘 約 20 分鐘 1 分鐘內

高可用

備援機制

IBM

HACMP

IBM

HACMP

Oracle

RAC 資料庫主機

非計劃性停機服務接管時間 約 20 分鐘 約 20 分鐘 1 分鐘內

財金公司未來除持續進行線上交易處理

(OLTP)相關業務系統之資料庫同地備援架

構建置外,關於批次作業、統計報表或歷史交

易查詢……等相關應用系統之高可用性作業,

將透過資料庫異地備援方案之規劃,建置異地

備援伺服器,平時可分散主中心設備之資料存

取負載,充分運用備援環境之設備與資源,並

提高主中心的營運效能;災變時則可快速接管

主中心作業以提供服務。

四、資料庫高可用性技術未來展望

甫於今(101)年 10 月初於美國舊金山落

幕的 Oracle 年度盛會「Oracle OpenWorld

2012」,一如往年,Oracle 資料庫高可用性的

www.fisc.com.tw 51

資料庫高可用性解決方案之探討-以 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 議程資料。