Oracle rac案例講解
rac是什麼?
多個不同服務器上的實例,訪問共享的數據庫文件,擴展瞭CPU和內存,提高性能;多節點,實現瞭HA。
rac解決什麼問題
- 高可用性:自動切換、負載均衡
- 高性能:多實例、更多連接、並發執行
- 高擴展:不停機擴展節點。
怎麼實現的
組成
3個層級:
- 集群軟件:集群管理,節點增刪、心跳、同步;包括2個組件:表決磁盤、集群註冊服務。
- rac數據庫軟件:提供數據庫實例;
- rac數據庫:共享存儲,共享文件。
1.拓撲圖
2.存儲劃分例子
現在共享存儲建議ASM,僅說明用。
rac常用操作
1.啟停
關閉:監聽–>db–>cluster–>os
- 關閉監聽(grid用戶),阻止新的程序在連接進來
srvctl stop listener - 寫臟塊
alter systerm checkpoint;(多執行幾次) - 關閉數據庫(grid用戶下) racdb指的是數據庫全局唯一名。執行時間會較長,不要終止
/u01/app/11.2.0/grid/bin/srvctl stop database -d racdb -o immediate - 關閉集群件(root用戶)
/u01/app/11.2.0/grid/bin/crsctl stop cluster -all - 查看資源狀態
/u01/app/11.2.0/grid/bin/crsctl status resource -t - 關閉操作系統(root)
shutdown -h now
———–啟動RAC數據庫—–
cluster–>db
- 默認情況下,集群軟件會隨著操作系統的啟動而啟動(root)。
檢查集群資源:/u01/app/11.2.0/grid/bin/crsctl status resource -t –所有都需要是online狀態
啟動集群資源:/u01/app/11.2.0/grid/bin/crsctl start cluster -all - 啟動數據庫(grid)
srvctl start database -d racdb - 查看監聽狀態。默認情況下監聽會隨著集群軟件啟動(grid)。
srvctl status listener –查看監聽狀態
srvctl start listener –啟動監聽 - 登錄plsql進行連接測試。
2.增刪
- 配置OS, 和安裝RAC的配置一樣。Mount上共享磁盤。但是不要安裝Oracle 和 grid software
- 設置節點間的ssh, 使用grid安裝包中的腳本
- 在grid 用戶下添加節點,主要是添加grid組件 ,會copy grid_home下的內容到新的節點
- 在oracle用戶下添加節點,主要是添加oracle組件,會copy oracle_home下的內容到新的節點
- 使用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!
推薦閱讀:
- DBCA命令行搭建Oracle ADG的流程
- CenterOs7 安裝oracle19c的方法詳解
- RPM包方式安裝Oracle21c的方法詳解
- 通過LogMiner實現Oracle數據庫同步遷移
- CentOS7下Oracle19c rpm安裝過程