Oracle RAC必備知識點整理
資料庫規劃要從業務特性和需求為導向,不要為了RAC的可用性而上RAC,實際上RAC也不是萬能的,需要如下知識點需要掌握。
1.使用RAC的好處
1.1 提升應用系統效能,提高資料庫交易處理能力
在單台主機資源或者單一實例資料庫的交易處理能力受到瓶頸時,使用RAC能極大提高並發能力。
主機的資源使用率不是簡單的求和。比如在2個節點的RAC環境中,每個節點的CPU使用率為50%,如果所有資源轉移到單個節點,其使用率不會等於100%,可能70%。所以資源的使用很大程度上在於互動成本。
當互動成本過大時,其處理效率會極大的降低。
1.2提高資料庫高可用性,尤其是雙活的架構下。其好處如下:
同城本機伺服器和同城異地伺服器之間的無需任何切換,實現極為穩定可預期的秒級失敗業務切換。
Business Connectivity的後台資料中心,是同城雙活中心,任一網站的故障,業務不受到影響,這大大提高了業務的響應能力,也大大增加了檢修等日常營運行政時間。
3.RAC的選型考慮
全表掃描情況是不是很多?
索引爭用厲不厲害?
高水位爭用厲不厲害?
sequence爭用厲不厲害?
正版授權、安裝、營運費用是否在預算範圍內?
4.RAC的副作用
資源爭用成本會成倍放大,負載平衡下尤其嚴重
代碼訪問深度變深,帶來的bug,資料庫的整體穩定性甚至不如單節點
節點之間SQL執行計畫不一致
心跳網路的故障率很高
各個版本之間的差異化
對維護人員的技能經驗要求較高
如果在單一實例中資料區塊爭用比較厲害,那麼遷移到RAC之後就會是一場災難,效能可能會更加惡化。在這種情形下,多買了一台小機,只實現了HA的功能,但付出的是效能下降。得不償失!
其中一個執行個體hang住時,RAC的可用性得不到保障
5.安裝時
全面檢查作業系統補丁情況,建議安裝最新的資料庫補丁
心跳網路使用雙網卡綁定
主機的作業系統版本要求一致,配置最好一致
部署主機資源監控指令碼,如部署OSW
做好各項暴力測試,如CRS/主機啟動測試,插拔網線測試
預防性的設定好各類參數,如Oracle的DRM參數
6.營運時
應用端做針對RAC特性調整,建議業務分節點運行
死結可能在多個節點發生
不要將資料檔案增加到本地硬碟上
先關資料庫,再關CRS軟體,最後關主機
單機轉成RAC之後,適當加大buffer cache和shared pool的大小
開啟並行要謹慎,程式不要跨節點並行運行
容易忽略的資料庫參數
7.學習RAC的幾點建議
具備作業系統的相關知識,熟悉vmware或Oracle vbox基本操作
安裝、升級,且反覆安裝、升級
閱讀官方文檔,知道“有什麼”,“怎麼做”,再查其他文檔
在實驗環境中操作,尤其需要操作以下內容:
CRS的資源管理
ASM磁碟、磁碟組的添加刪除操作
OCR/VOTING DISK的備份、恢複、鏡像、刪除操作
VIP/PUBLIC IP/HAIP/PRIVATE IP更改操作
學會查看CRS記錄檔
要學會查看gv$視圖
瞭解業務特性,尤其需要知道哪張表在哪個節點訪問頻率最高
熟悉CRS日誌存放位置