溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

分析Oracle RAC集群

發(fā)布時(shí)間:2021-11-04 11:56:05 來源:億速云 閱讀:98 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要講解了“分析Oracle RAC集群”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“分析Oracle RAC集群”吧!

一、什么是Oracle RAC(Real Application Cluster)?

Oracle RAC 是一個(gè)具有共享緩存架構(gòu)的集群數(shù)據(jù)庫,它克服了傳統(tǒng)的無共享方法和共享磁盤方法的限制,為您的所有業(yè)務(wù)應(yīng)用提供了一種具有高度可擴(kuò)展性和可用性的數(shù)據(jù)庫解決方案。Oracle RAC 是 Oracle 私有云架構(gòu)的關(guān)鍵組成部分。

Oracle Real Application Clusters 可以消除數(shù)據(jù)庫服務(wù)器單點(diǎn)故障問題,從而為客戶提供優(yōu)秀的數(shù)據(jù)庫可用性。在集群服務(wù)器環(huán)境中,數(shù)據(jù)庫本身在服務(wù)器池之間實(shí)現(xiàn)共享,這意味著如果池中的任何服務(wù)器出現(xiàn)故障,數(shù)據(jù)庫將繼續(xù)在正常的服務(wù)器上運(yùn)行。Oracle RAC 不僅讓客戶能夠在服務(wù)器發(fā)生故障時(shí)繼續(xù)處理數(shù)據(jù)庫負(fù)載,而且有助于縮短數(shù)據(jù)庫計(jì)劃內(nèi)脫機(jī)維護(hù)時(shí)間,進(jìn)而降低停機(jī)成本。

Oracle Real Application Clusters 支持在集群服務(wù)器池上透明地部署 Oracle 數(shù)據(jù)庫。這讓客戶能夠輕松地將單個(gè)服務(wù)器上的 Oracle 數(shù)據(jù)庫重新部署到數(shù)據(jù)庫服務(wù)器集群上,從而充分利用集群數(shù)據(jù)庫服務(wù)器提供的整合內(nèi)存容量和處理能力。

Oracle Real Application Clusters 提供了所有必備的軟件組件,讓您可以在服務(wù)器池上輕松部署 Oracle Database,充分利用集群提供的性能、可擴(kuò)展性和可用性。Oracle RAC 利用 Oracle Grid Infrastructure 作為 Oracle RAC 數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。Oracle Grid Infrastructure 包括 Oracle Clusterware 和 Oracle 自動(dòng)存儲(chǔ)管理 (ASM),可以在高度可用和可擴(kuò)展的數(shù)據(jù)庫云環(huán)境中高效地共享服務(wù)器和存儲(chǔ)資源。

二、Oracle RAC的體系架構(gòu)

 RAC與單實(shí)例最大的區(qū)別是,多個(gè)實(shí)例管理一個(gè)數(shù)據(jù)庫。這個(gè)數(shù)據(jù)庫必須安裝在共享存儲(chǔ)上。這樣的架構(gòu)有如下優(yōu)點(diǎn):

  • 高可用 其中某個(gè)或者某些實(shí)例宕機(jī),并不影響該系統(tǒng)對(duì)外提供服務(wù)。

  • 高性能 集群的事務(wù)處理功能大大增強(qiáng),多個(gè)實(shí)例可以并發(fā)的工作。

  • 可擴(kuò)展 當(dāng)系統(tǒng)性能遇到瓶頸時(shí),通過增加節(jié)點(diǎn)可以提高數(shù)據(jù)庫的性能。

RAC中的實(shí)例,除了有單實(shí)例固有的那些后臺(tái)進(jìn)程,還會(huì)多一些用來進(jìn)行RAC實(shí)例之間進(jìn)行交互的進(jìn)程。在RAC中,每個(gè)實(shí)例有自己?jiǎn)为?dú)的redo log和undo表空間。因?yàn)槊總€(gè)實(shí)例都要獨(dú)自處理事務(wù)。但是這些redo和undo文件同樣要放置在共享磁盤中,因?yàn)橐坏?shí)例崩潰,其他的實(shí)例要能讀取到該實(shí)例的redo和undo進(jìn)行事務(wù)的恢復(fù)。


RAC中引入了一個(gè)叫cache fusion的機(jī)制。也就是把所有機(jī)器的內(nèi)存當(dāng)成一個(gè)大的整體的內(nèi)存來管理。

要管理這塊內(nèi)存,Oracle引入了GCS(Global Cache Service)、GES(Global Enqueue Service)、GRD(Global Resource Directory)這三個(gè)概念。

  • GRD:用來記錄數(shù)據(jù)庫cached block在各個(gè)instance上的分布情況,以及block的狀態(tài)。

  • GRD分布在各個(gè)實(shí)例中,每個(gè)實(shí)例維護(hù)GRD的一部分。

  • GRD由GCS和GES共同管理,GCS管理buffer cache中的數(shù)據(jù)塊緩存的一致性,GES管理數(shù)據(jù)塊的鎖信息。

既然每個(gè)實(shí)例只維護(hù)GRD的一部分,那么我要請(qǐng)求一個(gè)塊時(shí),是不是每個(gè)機(jī)器都要請(qǐng)求?顯然不是這樣的,因?yàn)檫@樣效率會(huì)非常的低。那么GCS和GES會(huì)根據(jù)一定的算法,在RAC的各個(gè)節(jié)點(diǎn)中選擇出一個(gè)節(jié)點(diǎn)作為Resource Master。這個(gè)Resource Master負(fù)責(zé)處理數(shù)據(jù)塊的請(qǐng)求。并且Resource Master會(huì)在內(nèi)存中記錄每個(gè)instance中GRD的索引。

感謝各位的閱讀,以上就是“分析Oracle RAC集群”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)分析Oracle RAC集群這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI