Real Application Cluster(簡(jiǎn)稱(chēng)RAC)用來(lái)在集群環(huán)境下實(shí)現(xiàn)多機(jī)共享數(shù)據(jù)庫(kù),以保證應(yīng)用的高可用性。同時(shí)可以自動(dòng)實(shí)現(xiàn)并行處理及均分負(fù)載,還能實(shí)現(xiàn)數(shù)據(jù)庫(kù)在故障時(shí)的容錯(cuò)和無(wú)斷點(diǎn)恢復(fù)。
RAC為大多數(shù)關(guān)鍵業(yè)務(wù)要求的數(shù)據(jù)庫(kù)環(huán)境提供了極高的性能和完善的糾錯(cuò)功能。RAC允許集群系統(tǒng)或大型并行系統(tǒng)中的多個(gè)節(jié)點(diǎn)共享同一物理數(shù)據(jù)庫(kù)。RAC可以自動(dòng)進(jìn)行負(fù)載平衡、故障修復(fù)和規(guī)劃停機(jī)時(shí)間,以支持高可用性應(yīng)用程序。它還顯著地提高了大型數(shù)據(jù)倉(cāng)庫(kù)和決策支持系統(tǒng)的性能。通過(guò)與并行查詢(xún)選件結(jié)合,它還提供了節(jié)點(diǎn)間的并行性和節(jié)點(diǎn)內(nèi)的并行性,以得到更高的性能。

當(dāng)并行服務(wù)器中某節(jié)點(diǎn)失效,透明的應(yīng)用程序容錯(cuò)能夠把用戶(hù)自動(dòng)轉(zhuǎn)接到另一節(jié)點(diǎn)上繼續(xù)運(yùn)行,應(yīng)用程序在用戶(hù)沒(méi)有察覺(jué)的情況下繼續(xù)執(zhí)行。這使周期性和非周期性發(fā)生故障的系統(tǒng)增大了連續(xù)可用性。進(jìn)程的失效可以完全透明地轉(zhuǎn)移到另一節(jié)點(diǎn)上去,通過(guò)適當(dāng)?shù)嘏渲?,可以指定所有查?xún)都在客戶(hù)端進(jìn)行緩存,這樣它們便可以在轉(zhuǎn)移后的節(jié)點(diǎn)上重新設(shè)置。同時(shí),還可以在沒(méi)有失效時(shí)預(yù)先與容錯(cuò)節(jié)點(diǎn)建立一個(gè)連接,這樣可以減少容錯(cuò)時(shí)在連接所花的時(shí)間。
下圖是RAC故障轉(zhuǎn)移方式:

具有CacheFusion體系結(jié)構(gòu)的Oracle RAC為企業(yè)電子商務(wù)應(yīng)用開(kāi)發(fā)提供了以下好處:
電子商務(wù)應(yīng)用的靈活和毫不費(fèi)力的伸縮性
應(yīng)用用戶(hù)可以登錄到單獨(dú)的虛擬高性能集群服務(wù)器。向數(shù)據(jù)庫(kù)添加節(jié)點(diǎn)非常容易,并且當(dāng)需要添加處理器節(jié)點(diǎn)或者業(yè)務(wù)需求變化時(shí),不用手工對(duì)數(shù)據(jù)進(jìn)行分區(qū)。對(duì)于所有的應(yīng)用即時(shí)提供集群的可伸縮性--不用修改應(yīng)用程序。
較之傳統(tǒng)集群數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的高可用性解決方案
該體系結(jié)構(gòu)為客戶(hù)提供了幾乎連續(xù)的數(shù)據(jù)訪問(wèn),使硬件和軟件故障導(dǎo)致的業(yè)務(wù)中斷最小化。系統(tǒng)具備對(duì)多個(gè)節(jié)點(diǎn)失敗的容錯(cuò)能力,使部件失敗屏蔽開(kāi)最終用戶(hù)。
單獨(dú)的管理實(shí)體
為了進(jìn)行所有管理操作,在集群中保持一個(gè)單獨(dú)的系統(tǒng)映像。DBA一次性地進(jìn)行安裝、配置、備份、升級(jí)以及監(jiān)控等功能,然后Oracle將管理功能自動(dòng)分配到適宜的節(jié)點(diǎn)。這意味著DBA只管理著一個(gè) 虛擬服務(wù)器。
CacheFusion保存了所有節(jié)點(diǎn)內(nèi)存狀態(tài)
所有單節(jié)點(diǎn)數(shù)據(jù)庫(kù)功能都保留下來(lái),并且應(yīng)用程序使用相同標(biāo)準(zhǔn)的Oracle接口連接到數(shù)據(jù)庫(kù)上。
