




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Oracle RAC原理Oracle RAC原理ORACLE RAC原理在一個應用環(huán)境當中,所有的服務器使用和治理同一個數據庫,目的是為了分散每一臺服務器的工作量,硬件上至少需要兩臺以上的服務器,而且還需要一個共享存儲設備。同時還需要兩類軟件,一個是集群軟件,另外一個確實是Oracle數據庫中的RAC組件。同時所有服務器上的OS都應該是同一類OS,依照負載均衡的配置策略,當一個客戶端發(fā)送請求到某一臺服務的listener后,這臺服務器依照我們的負載均衡策略,會把請求發(fā)送給本機的RAC組件處理也可能會發(fā)送給另外一臺服務器的RAC組件處理,處理完請求后,RAC會通過集群軟件來訪問我們的共享存儲設備
2、。邏輯結構上看,每一個參加集群的節(jié)點有一個獨立的instance,這些instance訪問同一個數據庫。節(jié)點之間通過集群軟件的通訊層(communication layer)來進行通訊。同時為了減少IO的消耗,存在了一個全局緩存服務,因此每一個數據庫的instance,都保留了一份相同的數據庫cache。 RAC中的特點是:每一個節(jié)點的instance都有自己的SGA每一個節(jié)點的instance都有自己的background process每一個節(jié)點的instance都有自己的redo logs每一個節(jié)點的instance都有自己的undo表空間所有節(jié)點都共享一份datafiles和contr
3、olfilesOracle還提出了一個緩存融合的技術(Cache fusion)目的有兩個1.保證緩存的一致性2.減少共享磁盤IO的消耗因此在RAC環(huán)境中多個節(jié)點保留了同一份的DB CACHE緩存融合(Cache fusion)工作原理:*1.其中一個節(jié)點會從共享數據庫中讀取一個block到db cache中2.那個節(jié)點會在所有的節(jié)點進行交叉db block copy3.當任何一個節(jié)點緩存被修改的時候,就會在節(jié)點之間進行緩存修改4.為了達到存儲的一致最終修改的結果也會寫到磁盤上ClusterWare組件*有四種ServiceCrsd - 集群資源服務Cssd - 集群同步服務Evmd - 事件
4、治理服務oprocd - 節(jié)點檢測監(jiān)控有三類ResourceVIP - 虛擬IP地址(Virtual IP)OCR - Oracle Cluster Registry(集群注冊文件),記錄每個節(jié)點的相關信息Voting Disk - Establishes quorum (表決磁盤),仲裁機制用于仲裁多個節(jié)點向共享節(jié)點同時寫的行為,如此做是為了幸免發(fā)生沖突。RAC的組件*提供過了額外的進程,用來維護數據庫LMS - Gobal Cache Service Process 全局緩存服務進程LMD - Global Enqueue Service Daemon 全局查詢服務守護進程LMON - G
5、lobal Enqueue Service Monitor全局查詢服務監(jiān)視進程LCK0 - Instance Enqueue Process 實例查詢進程 治理rac狀態(tài)檢查:application service狀態(tài)應該都為online:HDOADB1: crs_stat -tName Type Target State Host -ora.s1.inst application ONLINE ONLINE hdoadb1 ora.s2.inst application ONLINE ONLINE hdoadb2 ora.ams.db application ONLINE ONLINE hd
6、oadb2 ora.B1.lsnr application ONLINE ONLINE hdoadb1 ora.db1.gsd application ONLINE ONLINE hdoadb1 ora.db1.ons application ONLINE ONLINE hdoadb1 ora.db1.vip application ONLINE ONLINE hdoadb1 ora.B2.lsnr application ONLINE ONLINE hdoadb2 ora.db2.gsd application ONLINE ONLINE hdoadb2 ora.db2.ons applic
7、ation ONLINE ONLINE hdoadb2 ora.db2.vip application ONLINE ONLINE hdoadb2 ora.orcl.db application ONLINE ONLINE hdoadb1 ora.l1.inst application ONLINE ONLINE hdoadb1 ora.l2.inst application ONLINE ONLINE hdoadb2查看兩臺機器rac db狀態(tài):$ srvctl status database d orcl$ srvctl status database d ams查看一臺機器的實例的狀態(tài)$
8、 srvctl status instance -d orcl -i orcl1特定節(jié)點上節(jié)點應用程序的狀態(tài) HYPERLINK / IXDBA.NET社區(qū)論壇$srvctl status nodeapps -n linux1VIP is running on node: linux1GSD is running on node: linux1Listener is running on node: linux1ONS daemon is running on node: linux1關閉整個rac db:$ srvctl stop database d orcl$ srvctl stop d
9、atabase d ams$ srvctl stop nodeapps n hdoadb1$ srvctl stop nodeapps n hdoadb2用crs_stat命令來檢查application service狀態(tài)應該都為offlineHDOADB1: crs_stat -tName Type Target State Host -ora.s1.inst application OFFLINE OFFLINE hdoadb1 ora.s2.inst application OFFLINE OFFLINE hdoadb2 ora.ams.db application OFFLINE O
10、FFLINE hdoadb2 ora.B1.lsnr application OFFLINE OFFLINE hdoadb1 ora.db1.gsd application OFFLINE OFFLINE hdoadb1 ora.db1.ons application OFFLINE OFFLINE hdoadb1 ora.db1.vip application OFFLINE OFFLINE hdoadb1 ora.B2.lsnr application OFFLINE OFFLINE hdoadb2 ora.db2.gsd application OFFLINE OFFLINE hdoad
11、b2 ora.db2.ons application OFFLINE OFFLINE hdoadb2 ora.db2.vip application OFFLINE OFFLINE hdoadb2 ora.orcl.db application OFFLINE OFFLINE hdoadb1 ora.l1.inst application OFFLINE OFFLINE hdoadb1 ora.l2.inst application OFFLINE OFFLINE hdoadb2開啟整個rac db:正常情況下當機器啟動時oracle rac會自動啟動的。手動啟動過程如下:$ srvctl s
12、tart nodeapps n hdoadb1$ srvctl start nodeapps n hdoadb2$srvctl start database d orcl$ srvctl start database d ams只停一個節(jié)點的instance(node1)$ srvctl stop instance d orcl I orcl1$ srvctl stop instance d ams I ams1Oracle Clusterware的關閉與啟動:#cd $ORACLE_CRS_HOME/bin# crsctl start crs-啟動CRS,會自動把其它的resource也啟動
13、# crsctl stop crs-關閉CRS,會自動把其它的resource也關閉 四、Oracle RAC常用的日志文件:db的alertlog文件:$ORACLE_BASE/admin/orcl/bdump/$ORACLE_BASE/admin/ams/bdump/oracle crs日志文件:$ORACLE_CRS_HOME/crs/log$ORACLE_CRS_HOME/css/log$ORACLE_CRS_HOME/evm/log$ORACLE_CRS_HOME/srvm/logCRS的治理CRSCTL命令操縱著本地節(jié)點的CRS服務(Oracle clusterware proce
14、sses)停止CRS:$ crsctl stop crs或者$ /etc/init.d/init.crs stop或者$ crs_stop all啟動CRS:$ crsctl start crs或者$ /etc/init.d/init.crs start禁止Clusterware在系統(tǒng)重啟后自動啟動的方法:$ /etc/init.d/init.crs disable啟動Clusterware在系統(tǒng)重啟后自動啟動的方法:$ /etc/init.d/init.crs enable查看CRS服務狀態(tài)$ crsctl check crs#OCR的資源治理OCR的資源,當RAC cluster啟動并成功
15、運行以后,你能夠使用crs_stat工具看到如下內容:$ORA_CRS_HOME/bin/crs_stat通常情況下,所有的資源的狀態(tài)都應該是online。另外,OCR每4個小時會備份一次。有一些情況你能夠通過恢復的OCR的配置文件來恢復出現問題的OCR。比如使用出現如下情況:$ crs_stat -tCRS-0184: Cannot communicate with the CRS daemon.$ crsctl check bootFailure 4 at procr_open_key with status 4.PROC-4: The cluster registry key to be
16、 operated on does not exist.$ crsctl check crsFailure 1 contacting CSS daemonCannot communicate with CRSCannot communicate with EVM引起那個錯誤的一種可能緣故是OCR配置丟了。那個我們能夠利用這些備份來還原往常的配置。# /etc/init.crs disable# /etc/init.crs stop先保證所有的crs進程全部停止。# su oracle$ cd $ORA_CRS_HOME/bin$./ocrconfig -restore /opt/app/ora
17、cle/crs/cdata/crs/week.ocr然后切換到root用戶下,重新enable CRS# /etc/init.crs enable最后reboot兩個節(jié)點#SRVCTL命令介紹SRVCTL命令能夠操縱RAC數據庫中的instance,listener以及services。通常SRVCTL在ORACLE用戶下執(zhí)行。下面我們來介紹srvctl命令。1、通過SRVCTL命令來start/stop/check所有的實例:$ srvctl start|stop|status database -d 2、start/stop指定的實例:$ srvctl start|stop|status
18、instance -d -i 3、列出當前RAC下所有的$ srvctl config database -d 4、start/stop/check所有的nodeapps,比如:VIP, GSD, listener, ONS:$ srvctl start|stop|status nodeapps -n 5、假如你使用ASM,srvctl也能夠start/stop ASM實例:$ srvctl start|stop asm -n -i -o6、能夠獵取所有的環(huán)境信息:$ srvctl getenv database -d -i 7、設置全局環(huán)境和變量:$ srvctl setenv databa
19、se -d -t LANG=en8、從OCR中刪除已有的數據庫:$ srvctl remove database -d 9、向OCR中添加一個數據庫:$ srvctl add database -d -o -m -p -A /netmask -r PRIMARY | PHYSICAL_STANDBY |LOGICAL_STANDBY -s 10、向OCR中添加一個數據庫的實例:$ srvctl add instance -d -i -n $ srvctl add instance -d -i -n 11、向OCR中添加一個ASM實例:$ srvctl add asm -n -i -o 12、添加一個service$ srvctl add service -d -s -r -a -P -u13、修改在其他節(jié)點上的service$ srvctl modify service -d -s -I -t 14、relocate某個節(jié)點的service到其他節(jié)點srvctl relocate service -d -s -ICRS及相關服務的常用命令的演示1、查看狀態(tài)的命令# suoracle -先切換到oracle用戶$ crs_stat -t -查看crs及所有的service的狀態(tài)$ c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠化工程高位水池施工方案
- 變電站避雷器安裝施工方案
- 海纜防護沉軟體排施工方案
- 黃山大理石欄桿施工方案
- 交房樣板施工方案
- 英語閱讀理解練習
- 四川廠房滲漏維修施工方案
- 鞍山8年級期中數學試卷
- 鹿寨縣國四道路施工方案
- 四川房地產開發(fā)施工方案
- 專升本英語閱讀理解練習
- 2023年《精子戰(zhàn)爭》作者羅賓·貝克
- 安徽大學計算機考研復試題
- 醫(yī)院胸痛救治單元成立文件(方案通知)
- 煤粉鍋爐燃燒器的構造
- 全口義齒概述??普n件
- 人參中國藥典
- 通用技術考試設計方案參考范本
- 《城市規(guī)劃設計計費指導意見》2017修訂稿
- 防排煙工程課程設計
- 海泰電子病歷系統(tǒng)-(醫(yī)生)用戶手冊
評論
0/150
提交評論