Oracle rac案例講解

rac是什麼?

多個不同服務器上的實例,訪問共享的數據庫文件,擴展瞭CPU和內存,提高性能;多節點,實現瞭HA。

rac解決什麼問題

  1. 高可用性:自動切換、負載均衡
  2. 高性能:多實例、更多連接、並發執行
  3. 高擴展:不停機擴展節點。

怎麼實現的

組成

3個層級:

  1. 集群軟件:集群管理,節點增刪、心跳、同步;包括2個組件:表決磁盤、集群註冊服務。
  2. rac數據庫軟件:提供數據庫實例;
  3. rac數據庫:共享存儲,共享文件。

1.拓撲圖

在這裡插入圖片描述

2.存儲劃分例子

現在共享存儲建議ASM,僅說明用。

在這裡插入圖片描述

rac常用操作

1.啟停

關閉:監聽–>db–>cluster–>os

  1. 關閉監聽(grid用戶),阻止新的程序在連接進來
    srvctl stop listener
  2. 寫臟塊
    alter systerm checkpoint;(多執行幾次)
  3. 關閉數據庫(grid用戶下) racdb指的是數據庫全局唯一名。執行時間會較長,不要終止
    /u01/app/11.2.0/grid/bin/srvctl stop database -d racdb -o immediate
  4. 關閉集群件(root用戶)
    /u01/app/11.2.0/grid/bin/crsctl stop cluster -all
  5. 查看資源狀態
    /u01/app/11.2.0/grid/bin/crsctl status resource -t
  6. 關閉操作系統(root)
    shutdown -h now

———–啟動RAC數據庫—–

cluster–>db

  1. 默認情況下,集群軟件會隨著操作系統的啟動而啟動(root)。
    檢查集群資源:/u01/app/11.2.0/grid/bin/crsctl status resource -t –所有都需要是online狀態
    啟動集群資源:/u01/app/11.2.0/grid/bin/crsctl start cluster -all
  2. 啟動數據庫(grid)
    srvctl start database -d racdb
  3. 查看監聽狀態。默認情況下監聽會隨著集群軟件啟動(grid)。
    srvctl status listener –查看監聽狀態
    srvctl start listener –啟動監聽
  4. 登錄plsql進行連接測試。

2.增刪

  1. 配置OS, 和安裝RAC的配置一樣。Mount上共享磁盤。但是不要安裝Oracle 和 grid software
  2. 設置節點間的ssh, 使用grid安裝包中的腳本
  3. 在grid 用戶下添加節點,主要是添加grid組件 ,會copy grid_home下的內容到新的節點
  4. 在oracle用戶下添加節點,主要是添加oracle組件,會copy oracle_home下的內容到新的節點
  5. 使用DBCA添加新的instance 或者手工添加也可以 (本次dbca添加)

難點:

1.節點數據的一致性。

單實例,內存裡有事務信息、鎖,如果把不同節點的數據同步,避免不同節點沖突。CacheFusion,緩存融合
服務器間緩存共享。與hadoop的分佈式不太一樣,hdp基於分佈式文件系統,在節點上基於block計算,然後合並,是真獨立,不存在全局資源目錄GRD的概念。rac是共享存儲,還是一個文件,沒有分治。

問題:

hba卡

光纖網卡

虛擬ip的作用?

安裝Oracle的過程中自動生成綁定在公網網卡上,並對外提供服務(公網網卡的虛擬ip)
如果rac2失敗,其虛擬ip會自動漂移到rac1的物理網卡上;客戶端請求進來,rac2會返回失敗的消息,讓重新連接vip1進來。
如果沒有vip,客戶單請求進來,會直到tcp\ip連接3次嘗試失敗後,返回失敗,體驗很差。
vip是HA實現的重要手段。

到此這篇關於Oracle rac案例講解的文章就介紹到這瞭,更多相關Oracle rac內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: