ORACLE RAC集群原理

来源:http://www.cnblogs.com/westwind1/archive/2017/02/22/6430464.html
-Advertisement-
Play Games

ORACLE RAC原理:在一個應用環境當中,所有的伺服器使用和管理同一個資料庫,目的是為了分散每一臺伺服器的工作量,硬體上至少需要兩台以上的伺服器,而且還需 要一個共用存儲設備。同時還需要兩類軟體,一個是集群軟體,另外一個就是Oracle資料庫中的RAC組件。同時所有伺服器上的OS都應該是同一類O ...


ORACLE RAC原理:在一個應用環境當中,所有的伺服器使用和管理同一個資料庫,目的是為了分散每一臺伺服器的工作量,硬體上至少需要兩台以上的伺服器,而且還需 要一個共用存儲設備。同時還需要兩類軟體,一個是集群軟體,另外一個就是Oracle資料庫中的RAC組件。同時所有伺服器上的OS都應該是同一類OS, 根據負載均衡的配置策略,當一個客戶端發送請求到某一臺服務的listener後,這台伺服器根據我們的負載均衡策略,會把請求發送給本機的RAC組件處 理也可能會發送給另外一臺伺服器的RAC組件處理,處理完請求後,RAC會通過集群軟體來訪問我們的共用存儲設備。

       邏輯結構上看,每一個參加集群的節點有一個獨立的instance,這些instance訪問同一個資料庫。節點之間通過集群軟體的通訊層 (communication layer)來進行通訊。同時為了減少IO的消耗,存在了一個全局緩存服務,因此每一個資料庫的instance,都保留了一份相同的資料庫cache。

RAC中的特點是:

每一個節點的instance都有自己的SGA
每一個節點的instance都有自己的background process
每一個節點的instance都有自己的redo logs
每一個節點的instance都有自己的undo表空間
所有節點都共用一份datafiles和controlfiles

Oracle還提出了一個緩存融合的技術(Cache fusion)
目的有兩個
1.保證緩存的一致性
2.減少共用磁碟IO的消耗
因此在RAC環境中多個節點保留了同一份的DB CACHE

緩存融合(Cache fusion)工作原理:
?****************************************
1.其中一個節點會從共用資料庫中讀取一個block到db cache中
2.這個節點會在所有的節點進行交叉db block copy
3.當任何一個節點緩存被修改的時候,就會在節點之間進行緩存修改
4.為了達到存儲的一致最終修改的結果也會寫到磁碟上

ClusterWare組件:
*******************
有四種Service
Crsd - 集群資源服務
Cssd - 集群同步服務
Evmd - 事件管理服務
oprocd - 節點檢測監控

有三類Resource
VIP - 虛擬IP地址(Virtual IP)
OCR - Oracle Cluster Registry(集群註冊文件),記錄每個節點的相關信息
Voting Disk - Establishes quorum (表決磁碟),仲裁機制用於仲裁多個節點向共用節點同時寫的行為,這樣做是為了避免發生衝突。


RAC的組件:
************
提供過了額外的進程,用來維護資料庫
LMS - Gobal Cache Service Process 全局緩存服務進程
LMD - Global Enqueue Service Daemon 全局查詢服務守護進程
LMON - Global Enqueue Service Monitor全局查詢服務監視進程
LCK0 - Instance Enqueue Process 實例查詢進程

轉至:http://blog.163.com/asd_wll/blog/static/210310402013413103548331/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 關於 Android 手機橫豎屏切換時 Activity 的生命周期問題,網上有很多相似的文章,大多數都是說明在豎屏切換橫屏時 Activity 會重啟一次,而在橫屏切換豎屏時 Activity 會重啟兩次。 我本身不太理解這樣設計的意義,並且覺得新版本會解決這個問題,所以做了一項測試,測試環境為 ...
  • MRC — 手動管理記憶體 1.1 記憶體引用平衡原則 1) 如果使用alloc,new開頭,或者是copy(複製一個對象)來創建一個對象,意味著你擁有這個對象的所有權。這個對象的引用計數器初始值為1(也有可能>1)。 2) 如果你擁有這個對象的所有權,在不使用此對象時,就有責任向對象發送release ...
  • CollapsingToolbarLayout 是 google 在其推出的design libiary 中給出的一個新型控制項。其可以實現的效果類似於: toolbar是透明的,有一個背景圖片以及大標題,隨著頁面的向上滑動,其標題逐漸縮放到toolbar上,而背景圖滑動到一定程度後變成了toolba ...
  • Zxing: Zxing是一個開放源碼,用java實現的多種格式的1D/2D條碼圖像處理庫,它包含了聯繫到其他語言的埠。可以實現使用手機內置攝像頭完成條形碼的掃描以及解碼。 github: https://github.com/zxing/zxing 首先在寫項目的時候,我們需要導入一個modue ...
  • HTTP Proxy Server : android-mirror.bugly.qq.com HTTP Proxy Port : 8080 打開Android SDK, Tools --> Options -->設置 proxy 和 port,重啟SDK即可 ...
  • public class MainActivity extends Activity { private DatePicker date_picker;private TimePicker time_picker;private TextView tv_date;private TextView t ...
  • TextView屬性大全 今天研究了TextView一天了,發現網上有一篇講TextView屬性的,非常全,收藏一下先。 發現TextView有一個比較大的問題,就是文字排版的問題,遇到數字,字母,符號等就會有問題,目前還沒有什麼解決方法。 如果有高人研究出方法來解決,請指教一下哈。 android ...
  • Codecademy中Learn SQL, SQL: Table Transformaton和SQL: Analyzing Business Metrics三門課程的筆記,以及補充的附加筆記。 Codecademy的課程以SQLite編寫,筆記中改成了MySQL語句。 I. Learn SQL 1. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...