您好,登錄后才能下訂單哦!
這篇文章主要講解了“分析Oracle RAC集群”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“分析Oracle RAC集群”吧!
Oracle RAC 是一個具有共享緩存架構的集群數據庫,它克服了傳統的無共享方法和共享磁盤方法的限制,為您的所有業務應用提供了一種具有高度可擴展性和可用性的數據庫解決方案。Oracle RAC 是 Oracle 私有云架構的關鍵組成部分。
Oracle
Real Application Clusters
可以消除數據庫服務器單點故障問題,從而為客戶提供優秀的數據庫可用性。在集群服務器環境中,數據庫本身在服務器池之間實現共享,這意味著如果池中的任何服務器出現故障,數據庫將繼續在正常的服務器上運行。Oracle
RAC 不僅讓客戶能夠在服務器發生故障時繼續處理數據庫負載,而且有助于縮短數據庫計劃內脫機維護時間,進而降低停機成本。
Oracle
Real Application Clusters 支持在集群服務器池上透明地部署 Oracle 數據庫。這讓客戶能夠輕松地將單個服務器上的
Oracle 數據庫重新部署到數據庫服務器集群上,從而充分利用集群數據庫服務器提供的整合內存容量和處理能力。
Oracle
Real Application Clusters 提供了所有必備的軟件組件,讓您可以在服務器池上輕松部署 Oracle
Database,充分利用集群提供的性能、可擴展性和可用性。Oracle RAC 利用 Oracle Grid Infrastructure
作為 Oracle RAC 數據庫系統的基礎。Oracle Grid Infrastructure 包括 Oracle Clusterware 和
Oracle 自動存儲管理 (ASM),可以在高度可用和可擴展的數據庫云環境中高效地共享服務器和存儲資源。
RAC與單實例最大的區別是,多個實例管理一個數據庫。這個數據庫必須安裝在共享存儲上。這樣的架構有如下優點:
高可用 其中某個或者某些實例宕機,并不影響該系統對外提供服務。
高性能 集群的事務處理功能大大增強,多個實例可以并發的工作。
可擴展 當系統性能遇到瓶頸時,通過增加節點可以提高數據庫的性能。
RAC中的實例,除了有單實例固有的那些后臺進程,還會多一些用來進行RAC實例之間進行交互的進程。在RAC中,每個實例有自己單獨的redo log和undo表空間。因為每個實例都要獨自處理事務。但是這些redo和undo文件同樣要放置在共享磁盤中,因為一旦實例崩潰,其他的實例要能讀取到該實例的redo和undo進行事務的恢復。
RAC中引入了一個叫cache fusion的機制。也就是把所有機器的內存當成一個大的整體的內存來管理。
要管理這塊內存,Oracle引入了GCS(Global Cache Service)、GES(Global Enqueue Service)、GRD(Global Resource Directory)這三個概念。
GRD:用來記錄數據庫cached block在各個instance上的分布情況,以及block的狀態。
GRD分布在各個實例中,每個實例維護GRD的一部分。
GRD由GCS和GES共同管理,GCS管理buffer cache中的數據塊緩存的一致性,GES管理數據塊的鎖信息。
既然每個實例只維護GRD的一部分,那么我要請求一個塊時,是不是每個機器都要請求?顯然不是這樣的,因為這樣效率會非常的低。那么GCS和GES會根據一定的算法,在RAC的各個節點中選擇出一個節點作為Resource Master。這個Resource Master負責處理數據塊的請求。并且Resource Master會在內存中記錄每個instance中GRD的索引。
感謝各位的閱讀,以上就是“分析Oracle RAC集群”的內容了,經過本文的學習后,相信大家對分析Oracle RAC集群這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。