【原創】Oracle RAC原理和安裝
1.說一下RAC和單節點資料庫的區別有哪些?你認為RAC最有用的功能是說什麼?
區別
(1)RAC有2個以上的例項,單節點只有1個例項
(2)RAC具有例項級別的高可用
(3)例項與例項之間透過內聯網路交換資料,單節點不可
(4)RAC每個節點都有自己套SGA、後臺程式、redo log、undo file
(5)RAC可以增減節點
RAC最有用的功能
答:我認為RAC最有用的功能就是例項級的failover,它可以保證在其中有節點crash的時候,其他節點可以迅速接管。保證系統持續可用。往往人們會認為RAC有2個節點效能就會提升2倍,這是一個誤區,由於要保證資料的一致性往往效能會消耗在記憶體間的資料塊相互複製和交叉上,因此不一定效能會好於單節點,而且節點越多效能曲線就會下降越快。
2.用ps命令查到屬於crs叢集軟體的程式名稱,貼出輸出結果。
CRS叢集程式是屬於Clusterware叢集軟體自己的程式,不同於RAC例項後臺程式
下面分別說明一下Clusterware叢集軟體自己的程式功能
1.crs叢集資源程式:全稱cluster ready services,作用為管理叢集中所有資源的程式,資源例如 資料庫 監聽 例項 記憶體 程式
VIP 應用程式 叢集 ASM
crs程式是根據儲存於OCR中的資源配置資訊來管理這些資源的。
2.css 叢集同步程式:全稱 cluster synchronization service,作用為管理叢集節點成員的程式,在增減叢集節點時收集節點最新狀態並同步到所有節點上。這個程式發生故障會導致叢集重啟
3.EVM 事件管理程式:全稱 Event Management,作用為釋出和記錄事件的程式,釋出CRS建立事件的後臺程式,只要哪個程式發生問題,EVMD就會把事件寫入trace檔案。
EVMD稱作事件管理守護程式
4.ONS 事件釋出及訂閱程式:全稱 Oracle Notification Service,作用為快速通知事件的釋出及訂閱服務
3.說一下在RAC環境下,資料庫例項會多出哪些後臺程式,用ps命令查詢,給出輸出結果,並說明它們的作用。
RAC模式下Oracle資料庫比單節點要多出許多後臺程式,這些後臺程式都是用於叢集管理和監控的,下面我們簡單介紹一下它們的作用。
1.LMSn - gobal cache service process 全域性快取服務程式 小n從零開始分配
1)RAC提供了10個LMS程式,會隨著節點間訊息傳遞的資料量的增加而增加,預設至少有2個LMS程式
2)LMS程式主要管理叢集內資料塊的訪問,並在不同例項的中傳遞資料塊映象
3)LMS程式保證了每一時刻只允許一個例項去修改資料塊
4)當一個例項請求資料塊時,擁有該資源的例項的LMS程式會建立一個資料塊映象的一致性讀。然後把該資料塊傳遞到請求資源的例項的buffer cache中。
2.LMON - Global Enqueue Service Monitor 全域性佇列服務監控程式
1)監控整個叢集的記憶體結構
2)處理異常終止的程式和例項
3)當有例項加入叢集和離開叢集時,全域性鎖定和資源的重新分配
4)提供全域性鎖資源的恢復操作
5)監控全域性的鎖資源處理死鎖和阻塞
3.LCK - LOCK Process
1)LCK程式主要用來管理例項間資源請求和跨例項呼叫操作,呼叫操作包括資料字典等物件的訪問
2)處理非cache fusion 的cache資源請求,像 dictionary cache或row cache
4.LMD – Global Enqueue Service 全域性佇列服務守護程式
1)LMD程式主要管理對全域性佇列和資源的訪問,並更新相應佇列的狀態,處理來自於其他例項的資源請求。
2)每一個全域性佇列的當前狀態儲存在相應的例項共享記憶體中,該狀態表明該例項具有相應的權利使用該資源。
3)LMD程式還負責佇列的死鎖問題
5.DIAG – Diagnostic Daemon 診斷守護程式
1)Oracle10g新的後臺程式
2)主要用來捕獲例項中失敗程式的診斷資訊,並生成相應的trace檔案
3)此程式不需要配置,自動啟動無需調整
4)如果該程式失敗則自動重啟
具體程式結構請參考下面的圖示
我們使用ps命令輸出10g和11g的RAC例項後臺程式 10g RAC特有程式: 4.畫圖說明,當RAC中的一個例項down掉之後,其它例項是如何接管這個例項上的事務的?
$ ps -ef|grep ora_
oracle 4721 1 0 Feb26 ? 00:00:00 ora_diag_ONEPIECE1
oracle 4725 1 0 Feb26 ? 00:02:26 ora_lmon_ONEPIECE1
oracle 4727 1 0 Feb26 ? 00:00:02 ora_lmd0_ONEPIECE1
oracle 4729 1 0 Feb26 ? 00:00:01 ora_lms0_ONEPIECE1
oracle 4733 1 0 Feb26 ? 00:00:01 ora_lms1_ONEPIECE1
oracle 4761 1 0 Feb26 ? 00:00:07 ora_lck0_ONEPIECE1
oracle 4772 1 0 Feb26 ? 00:00:00 ora_asmb_ONEPIECE1
oracle 4776 1 0 Feb26 ? 00:00:00 ora_rbal_ONEPIECE1
oracle 4840 1 0 Feb26 ? 00:00:00 ora_o001_ONEPIECE1
11g RAC特有程式:
$ ps -ef|grep ora_
oracle 426 1 0 Feb27 ? 00:00:08 ora_o000_RAC11G21
oracle 9082 1 0 Feb25 ? 00:01:09 ora_diag_RAC11G21
oracle 9086 1 0 Feb25 ? 00:00:27 ora_ping_RAC11G21
oracle 9088 1 0 Feb25 ? 00:00:06 ora_acms_RAC11G21
oracle 9092 1 0 Feb25 ? 00:05:27 ora_lmon_RAC11G21
oracle 9094 1 0 Feb25 ? 00:01:32 ora_lmd0_RAC11G21
oracle 9096 1 0 Feb25 ? 00:02:07 ora_lms0_RAC11G21
oracle 9100 1 0 Feb25 ? 00:00:06 ora_rms0_RAC11G21
oracle 9102 1 0 Feb25 ? 00:00:14 ora_lmhb_RAC11G21
oracle 9116 1 0 Feb25 ? 00:00:09 ora_rbal_RAC11G21
oracle 9118 1 0 Feb25 ? 00:00:05 ora_asmb_RAC11G21
oracle 9136 1 0 Feb25 ? 00:04:25 ora_lck0_RAC11G21
oracle 9138 1 0 Feb25 ? 00:00:14 ora_rsmn_RAC11G21
oracle 9295 1 0 Feb25 ? 00:00:07 ora_gtx0_RAC11G21
oracle 9297 1 0 Feb25 ? 00:00:07 ora_rcbg_RAC11G21
場景:在生產使用中,突然instance1 shutdown,那麼在其上面沒有完成的事物如何處理呢。 1)當例項1 crash後,例項2透過VIP就可以知道例項1已經down了。 2)此時需要處理的有2部分資料,一部分是commit的資料,一部分非commit資料 3)對於已經commit寫入redo日誌但是還沒有來得及寫入資料檔案的記錄,例項2可以訪問例項1的redo log並從最後一次check point之後的資訊開始例項恢復。把資料同步到最新狀態。 4)對於沒有commit的資料利用undo舊映像進行回滾事物。 RAC CRS 叢集 failover 後臺程式 Leonarding 2013.06.26 北京&summer 分享技術~成就夢想
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15797451/viewspace-1195774/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【原創】Oracle RAC 日常管理Oracle
- 3 安裝配置oracle叢集和RACOracle
- oracle goldengate for oracle rac 的安裝和切換OracleGo
- oracle rac aix 安裝OracleAI
- 【原創】Oracle RAC故障分析與處理Oracle
- 【RAC安裝】 AIX下安裝Oracle 11gR2 RACAIOracle
- Oracle RAC 安裝總結Oracle
- 【原創】Ubuntu安裝和簡單使用初感Ubuntu
- 【原創】centos7 64位 安裝rar和unrarCentOS
- [原創] 在Radhat 5 上安裝Oracle 10gOracle 10g
- 安裝Oracle RAC 11gOracle
- Oracle /RAC linux 安裝大全OracleLinux
- 單機安裝Oracle RAC (zt)Oracle
- redhat 6.4 安裝oracle11g RAC 安裝RDACRedhatOracle
- 安裝Oracle 10g RAC是否需要安裝HACMPOracle 10gACM
- 安裝Oracle 10g RAC是否需要安裝HACMP?Oracle 10gACM
- centos5.3下oracle 10.2.0.1.0的靜默安裝( 原創 )CentOSOracle
- 【原創】Oracle 並行原理與示例總結Oracle並行
- Oracle 11G RAC叢集安裝(3)——安裝OracleOracle
- 初接觸NodeJS 簡介和安裝和初次使用【原創】NodeJS
- oracle rac資料庫的安裝Oracle資料庫
- oracle11g 解除安裝racOracle
- oracle 11gr2 rac 安裝Oracle
- oracle 10g rac 解除安裝Oracle 10g
- oracle rac安裝配置注意事項Oracle
- 安裝Oracle RAC 12cR1Oracle
- veritas cfs for oracle rac安裝過程。Oracle
- 如何安全解除安裝Oracle RAC(轉)Oracle
- vgant 安裝oracle資料庫racOracle資料庫
- ORACLE RAC工作原理Oracle
- [zt] ORACLE RAC原理Oracle
- oracle 11gR2 RAC安裝與oracle 10gR2 rac 安裝時的不同點Oracle 10g
- Ansible原理和安裝
- 【原創】安裝和使用TPCC-MySQL工具遇到的問題MySql
- 【原創】Oracle execute plan 原理分析與例項分享Oracle
- 【RAC】RAC安裝錯誤手工解除安裝
- 安裝 oracle 10g rac 與 裸裝置Oracle 10g
- 【原創】oracle spfile和pfile小結Oracle