Oracle RAC 高可用性體系結構與叢集 單例項環境與 Oracle RAC 環境對比
第3章 Oracle RAC 體系結構
Oracle RAC允許多個例項訪問同一個資料庫。在多個伺服器節點上執行的例項訪問一組構成單個資料庫的公共資料檔案集。在單例項環境中,一個Oracle資料庫僅供在伺服器上執行的一個例項使用;而訪問這個資料庫的使用者只能透過這一臺伺服器來連線到資料庫。資料庫任務能夠使用的處理資源(CPU、記憶體等)僅限於這一臺伺服器上的處理資源。在Oracle RAC環境中,可以有多個例項使用同一個資料庫。這一方案向資料庫使用者呈現了多個處理資源。
注意:
“例項”就是一臺計算機上與資料庫有關的記憶體結構集,資料庫是一個物理檔案集,資料庫與例項之間是一種一對多關係,在Oracle RAC中,一個資料庫可以由多個例項併發使用,一個例項只是一個資料庫的部分。
構成資料庫的資料檔案存放在永久性儲存中,它們可以平等地供所有節點進行讀取和寫入訪問。Oracle RAC協調和調整來自多個伺服器節點的併發資料訪問。因此,在叢集的節點之間必須存在一種高效、可靠的高速專用網路,用於傳送和接收資料。圖3-1顯示了單例項資料庫和Oracle RAC資料庫的配置。
3.1 單例項環境與Oracle RAC環境的對比
與在單例項環境中類似,Oracle RAC環境中的每個例項也有其自己的“系統全域性區”(SGA)和後臺程式。但是,所有資料檔案和控制檔案都可供所有節點同等訪問,所以必須把這些檔案放在一個共享磁碟子系統上。每個例項還有其自己的專用聯機重做日誌檔案,這些聯機重做日誌檔案只能由它所屬的例項寫入。但是,在例項故障恢復期間,這些檔案必須可以供其他例項讀取。這就要求這些聯機重做日誌檔案駐留在一個共享磁碟子系統上,而不是位於一個節點的本地儲存上,否則,這些檔案會在節點崩潰時丟失。
表3-1對比了單例項元件和Oracle RAC環境中一個例項的元件。
表3-1單例項元件與Oracle RAC元件的對比
元件 | 單例項環境 | RAC環境 |
SGA | 例項擁有自己的SGA | 每個例項擁有自己的SGA |
後臺程式 | 例項有自己的後臺程式集 | 例項有自己的後臺程式集 |
資料檔案 | 僅由一個例項訪問 | 由所有例項共享,所以必須放在共享儲存中 |
控制檔案 | 僅由一個例項訪問 | 由所有例項共享,所以必須放在共享儲存中 |
聯機重做日誌檔案 | 專供一個例項寫入和讀取 | 只有一個例項可以寫入。但其他例項可以在恢復和存檔期間讀取。如果一個例項關閉,那麼其他例項的日誌切換可以強制對空閒例項重做日誌進行存檔 |
存檔後的重做日誌 | 專供該例項使用 | 專屬於該例項,但在媒介恢復期間,其他例項需要訪問所需的存檔日誌 |
快閃恢復日誌 | 僅由一個例項訪問 | 由所有例項共享,所以必須放在共享儲存中 |
警報日誌和其他跟蹤檔案 | 專供該例項使用 | 專屬於每個例項;其他例項永遠不會讀寫這些檔案 |
ORACLE HOME | 同一臺計算機上訪問不同資料庫的多個例項可以使用相同的可執行檔案 | 與單個例項相同,但也可以放在共亨檔案系統上,允許Oracle RAC環境使用者的所有例項共用一個ORACLE HOME |
由於多個例項可能同時需要同一資料集,因此Oracle RAC環境中的例項共享資料。多個例項同時訪問同一資料並沒有危險;但是,如果一個例項(透過插入或更新)修改某一資料,而其他例項讀取該資料,或者多個例項併發修改相同資料,就會出現資料完整性問題。如果不能正確協調,這種併發讀/寫或寫/寫行為就可能會導致資料損壞或不一致的資料表示方式。單例項Oracle已經確保讀取者從來不會阻塞寫入者,也不允許任何“髒”讀取。
Oracle RAC確保叢集內所有例項看到的資料庫都是一致的。分散式鎖管理器(或DLM;從9i版本開始,它稱為“全域性資源目錄”或GRD)協調在例項之間共享的資源。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2130610/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC 環境下的連線管理Oracle
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- Oracle 12cR1 RAC叢集安裝(一)--環境準備Oracle
- KingbaseES RAC部署案例之---SAN環境構建RAC
- Oracle RAC一鍵部署001(主機環境校驗)Oracle
- ORACLE 12C RAC 生產環境搭建介紹Oracle
- oracle 11G RAC的建立(VM虛擬環境)Oracle
- 通過ORACLE VM virtualbox環境安裝oracle 11G RAC(ASM)OracleASM
- ORACLE-LINUX環境字元介面單例項安裝OracleLinux字元單例
- 分散式系統與叢集環境分散式
- Oracle RAC 環境 引數檔案的啟動順序Oracle
- Oracle RAC環境新增新的network和listener(未完成)Oracle
- Oracle 11.2.0.4 rac for aix acfs異常環境的克隆環境ASM磁碟組掛載緩慢OracleAIASM
- 超大記憶體環境下的Oracle RAC引數設定建議記憶體Oracle
- 沃趣微講堂 | Oracle叢集技術(二):GI與Oracle RACOracle
- Oracle 例項和RAC叢集下資料庫日誌目錄合集Oracle資料庫
- Oracle 11g RAC到單例項OGG同步Oracle單例
- RAC環境修改spfile的位置
- 京東雲環境搭建oracle rac詳細部署梳理(可信的結果輸出)Oracle
- ORA-29702複製RAC Oracle軟體啟動單例項Oracle單例
- Oracle 11gR2 RAC 叢集服務啟動與關閉總結Oracle
- oracle RAC 診斷叢集狀態命令Oracle
- Hadoop HA叢集 與 開發環境部署Hadoop開發環境
- RAC和ASM環境下打patchASM
- 手工清理19c RAC環境
- RAC環境下建立物理DATAGUARD(1)
- RAC環境下建立物理DATAGUARD(2)
- ZooKeeper 系列(二)—— Zookeeper單機環境和叢集環境搭建
- Docker構建redis叢集環境DockerRedis
- [Oracle] -- 配置Oracle環境變數Oracle變數
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-生產環境切換Oracle資料庫Linux
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-測試環境驗證Oracle資料庫Linux
- 高可用叢集環境搭建-留檔
- RAC環境下的SEQUENCE對應用的影響
- oracle 11.2.0.4 rac叢集等待事件enq: TM - contentionOracle事件ENQ
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- 如何在rac環境中增加監聽
- 構建生產環境可用的高可用kubernetes叢集
- Oracle RAC簡介與要點Oracle