Oracle 10g RAC應(yīng)用分析.doc_第1頁
Oracle 10g RAC應(yīng)用分析.doc_第2頁
Oracle 10g RAC應(yīng)用分析.doc_第3頁
Oracle 10g RAC應(yīng)用分析.doc_第4頁
Oracle 10g RAC應(yīng)用分析.doc_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Oracle 10g RAC應(yīng)用分析高性能服務(wù)器產(chǎn)品部 徐斌2008-12-12目 錄引 言1一、什么是ORACLE RAC?2二、Oracle RAC體系結(jié)構(gòu)21Oracle集群件32硬件體系結(jié)構(gòu)33文件系統(tǒng)和卷管理44虛擬互聯(lián)網(wǎng)協(xié)議地址(VIP)45集群驗(yàn)證實(shí)用程序56遠(yuǎn)距離集群RAC5三、ORACLE RAC的優(yōu)勢61高可用性62可伸縮性7四、管理ORACLE真正應(yīng)用集群數(shù)據(jù)庫81Enterprise Manager 10g82滾動(dòng)補(bǔ)丁應(yīng)用93滾動(dòng)版本升級(jí)支持9五、使用真正應(yīng)用集群進(jìn)行負(fù)載管理101服務(wù)102連接負(fù)載均衡113快速應(yīng)用程序通知(FAN)114負(fù)載均衡顧問程序11六、Oracle RAC并行服務(wù)器與雙機(jī)熱備份的比較12七、總結(jié)14八、部分官方技術(shù)問答141為什么說Oracle Real Application Clusters 10g 要遠(yuǎn)遠(yuǎn)超過它的競爭對手?142Oracle RAC的典型硬件配置是什么樣的?153SQL Server和IBM DB2都有active-active的故障切換方式,為什么我要采用Oracle Real Application Cluster 10g?154我的分布式應(yīng)用 系統(tǒng)運(yùn)行非常好,為什么我要把我的數(shù)據(jù)庫進(jìn)行集中?155我們已經(jīng)有了集群硬件環(huán)境,并且可以進(jìn)行應(yīng)用的切換,為什么我還需要Oracle Real Application Clusters 10g?166我們使用Data Guard來實(shí)現(xiàn)故障切換,為什么我還需要Oracle Real Application Clusters 10g?167為什么選擇Linux?為什么選擇Linux環(huán)境下的Oracle Real Application Clusters 10g?17引 言使用Oracle真正應(yīng)用集群(RAC),Oracle數(shù)據(jù)庫可跨一組集群服務(wù)器運(yùn)行任何打包的或自定義的應(yīng)用程序,不需對這些應(yīng)用程序做任何改動(dòng)。這就提供了最高的可用性和最靈活的可伸縮性。如果集群中的一個(gè)服務(wù)器故障,Oracle可繼續(xù)在其余的服務(wù)器上運(yùn)行。當(dāng)我們需要更多的處理能力時(shí),只需添加服務(wù)器即可,無需用戶下線。為保證低成本,我們可使用標(biāo)準(zhǔn)化的普通硬件組建出最高端的系統(tǒng)。Oracle RAC為Oracle的企業(yè)網(wǎng)格計(jì)算體系結(jié)構(gòu)提供了基礎(chǔ)。Oracle RAC技術(shù)可為這一低成本硬件平臺(tái)提供支持,使其提供優(yōu)質(zhì)的服務(wù),并達(dá)到或超出昂貴的大型SMP計(jì)算機(jī)所能提供的可用性和可伸縮性等級(jí)。通過顯著降低管理成本和提供出色的管理靈活性,Oracle為企業(yè)網(wǎng)格環(huán)境提供了強(qiáng)有力的支持。本文從技術(shù)層面對Oracle 10g RAC進(jìn)行了概述,著重介紹了涉及為企業(yè)應(yīng)用程序提供高可用性和高可伸縮性方面的功能和特性,并與雙機(jī)熱備份架構(gòu)的服務(wù)平臺(tái)進(jìn)行了比較,最后給出了部分官方技術(shù)問答,希望對大家了解與銷售Oracle RAC能夠有所幫助。一、 什么是ORACLE RAC?Oracle RAC是Oracle數(shù)據(jù)庫的一個(gè)組件選項(xiàng),在Oracle 9i中首次推出。Oracle RAC現(xiàn)已發(fā)展成一項(xiàng)成熟的技術(shù),其用戶過千,遍及各個(gè)行業(yè),涉及各類應(yīng)用程序。Oracle RAC為伸縮應(yīng)用程序以超越單個(gè)服務(wù)器的能力限制提供了一個(gè)選擇。這使得用戶可以利用低成本的普通硬件來降低他們的總體擁有成本,并提供一個(gè)可伸縮的計(jì)算環(huán)境來支持其應(yīng)用程序負(fù)載。二、 Oracle RAC體系結(jié)構(gòu)RAC數(shù)據(jù)庫是一個(gè)集群數(shù)據(jù)庫。集群是一組獨(dú)立的服務(wù)器,協(xié)同合作如同一個(gè)系統(tǒng)。集群提供了比單對稱多處理器(SMP)系統(tǒng)更好的容錯(cuò)和模塊增量系統(tǒng)。發(fā)生系統(tǒng)故障時(shí),集群可確保向客戶提供高可用性。對關(guān)鍵任務(wù)數(shù)據(jù)的訪問不會(huì)丟失。冗余的硬件組件(如額外的節(jié)點(diǎn)、互聯(lián)和磁盤)使得集群能夠提供高可用性。此類冗余硬件體系結(jié)構(gòu)避免了單點(diǎn)故障并提供了異常故障恢復(fù)。在Oracle RAC中,我們將Oracle實(shí)例(運(yùn)行在一個(gè)服務(wù)器中的流程和內(nèi)存結(jié)構(gòu),以充許數(shù)據(jù)訪問)與Oracle數(shù)據(jù)庫(駐留在存儲(chǔ)器上的實(shí)際用于保存數(shù)據(jù)的物理結(jié)構(gòu),通常稱為數(shù)據(jù)文件)進(jìn)行了分離。集群數(shù)據(jù)庫是一個(gè)可由多個(gè)實(shí)例訪問的數(shù)據(jù)庫。每個(gè)實(shí)例運(yùn)行于集群中的一個(gè)獨(dú)立服務(wù)器上。當(dāng)需要更多的資源時(shí),可以在不停機(jī)的情況下輕松地向集群中添加節(jié)點(diǎn)和實(shí)例。當(dāng)啟動(dòng)新實(shí)例后,應(yīng)用程序可立即使用這一新實(shí)例,無需對應(yīng)用程序或應(yīng)用服務(wù)器進(jìn)行任何改動(dòng)。真正應(yīng)用集群是Oracle數(shù)據(jù)庫的一個(gè)擴(kuò)展,所以它利用了Oracle數(shù)據(jù)庫10g的可管理性、可靠性和安全性特性。1Oracle集群件Oracle數(shù)據(jù)庫10g開始提供有Oracle集群件,Oracle集群件是一個(gè)專門針對Oracle數(shù)據(jù)庫而集成和設(shè)計(jì)的可移植集群件解決方案。您不必再為構(gòu)建一個(gè)RAC數(shù)據(jù)庫而去購買第三方的集群件。Oracle集群件與Oracle DBA熟悉的Oracle Universal Installer進(jìn)行了集成。支持也比以往更為簡便,因?yàn)楝F(xiàn)在有一個(gè)專門的組織處理涉及集群件和集群數(shù)據(jù)庫的支持問題。您可以選擇使用第三方集群件來運(yùn)行Oracle RAC,Oracle產(chǎn)品可與經(jīng)認(rèn)證的第三方集群件共同使用,但Oracle集群件必須管理所有的RAC數(shù)據(jù)庫。Oracle集群件用于監(jiān)管真正應(yīng)用集群數(shù)據(jù)庫。當(dāng)集群中的一個(gè)節(jié)點(diǎn)啟動(dòng)時(shí),所有實(shí)例、監(jiān)聽程序和服務(wù)都將自動(dòng)啟動(dòng)。如果一個(gè)實(shí)例出現(xiàn)故障,集群件將自動(dòng)重啟該實(shí)例,這樣通常可在管理員發(fā)現(xiàn)前恢復(fù)該服務(wù)。在Oracle數(shù)據(jù)庫l0g第2版中,Oracle提供了高可用性API,這樣可使用Oracle集群件內(nèi)高可用性框架來控制非Oracle的流程。當(dāng)向Oracle集群件注冊流程時(shí),需要提供如何啟動(dòng)、終止和監(jiān)控這些流程的信息。您還可以指定當(dāng)執(zhí)行流程的節(jié)點(diǎn)出現(xiàn)故障時(shí),是否將該流程轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)。2硬件體系結(jié)構(gòu)Oracle RAC是一個(gè)全共享的體系結(jié)構(gòu)。集群中的所有服務(wù)器必須共享用于RAC數(shù)據(jù)庫的所有存儲(chǔ)器。存儲(chǔ)用的磁盤類型可以是網(wǎng)絡(luò)連接存儲(chǔ)(NAS)、存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)、或是SCSI磁盤。存儲(chǔ)器的選擇受限于所選用的服務(wù)器硬件及硬件供應(yīng)商所支持的存儲(chǔ)器類型。選擇存儲(chǔ)器的關(guān)鍵之處在于選擇一個(gè)可向您的應(yīng)用程序提供可伸縮I/O的存儲(chǔ)系統(tǒng),一個(gè)在向集群中添加服務(wù)器時(shí)可進(jìn)行伸縮的I/O系統(tǒng)。對于數(shù)據(jù)庫服務(wù)器所連入的局域網(wǎng)(LAN),集群還需要另外一個(gè)網(wǎng)絡(luò)連入該局域網(wǎng),用于應(yīng)用程序連接。集群還需要一個(gè)專用的網(wǎng)絡(luò),即通常所說的互聯(lián)。Oracle建議您對這一網(wǎng)絡(luò)使用兩個(gè)網(wǎng)絡(luò)接口,以實(shí)現(xiàn)高用性。我們需要使用不屬于Oracle的網(wǎng)絡(luò)接口來提供故障切換和負(fù)載均衡。集群使用這一互聯(lián)來進(jìn)行節(jié)點(diǎn)間消息傳遞。RAC則使用這一互聯(lián)來實(shí)施緩存融合技術(shù)。對于集群互聯(lián),Oracle建議使用UDP,不建議使用GigE。在實(shí)際應(yīng)用環(huán)境中,RAC數(shù)據(jù)庫不支持將交叉線纜用作互聯(lián)。集群由1到多個(gè)服務(wù)器組成,每個(gè)服務(wù)器有一個(gè)LAN連接、一個(gè)互聯(lián)連接,必須連接到共享存儲(chǔ)器。在Oracle數(shù)據(jù)庫10g第2版中,Oracle集群件和真正應(yīng)用集群可支持多達(dá)100個(gè)集群節(jié)點(diǎn)。集群中的每個(gè)服務(wù)器不需要完全相同,但是必須使用同樣的操作系統(tǒng)和同一版本的Oracle產(chǎn)品。所有服務(wù)器必須支持同一體系結(jié)構(gòu),如全部為32位或全部為64位。3文件系統(tǒng)和卷管理因?yàn)镽AC是一個(gè)全共享式的體系架構(gòu),卷管理和文件系統(tǒng)必須能夠識(shí)別集群。Oracle建議使用自動(dòng)存儲(chǔ)器管理(ASM),它是Oracle數(shù)據(jù)庫10g包含的一個(gè)特性,能夠自動(dòng)管理用于數(shù)據(jù)庫的存儲(chǔ)器。使用ASM可以方便地管理文件系統(tǒng),提供異步I/O的性能。ASM通過跨所有可用資源分配I/O負(fù)載來優(yōu)化性能,且免除了手動(dòng)調(diào)整I/O的需要。Oracle也支持原始設(shè)備和某些集群文件系統(tǒng),如Oracle集群文件系統(tǒng)(OCFS),這一文件系統(tǒng)可用于Windows、Linux和Solaris(用于Solaris的OCFS將于Oracle數(shù)據(jù)庫10g第2版之后推出)。4虛擬互聯(lián)網(wǎng)協(xié)議地址(VIP)Oracle真正應(yīng)用集群10g要求集群中的每個(gè)服務(wù)器都使用一個(gè)虛擬IP地址。虛擬IP地址即是與局域網(wǎng)所屬子網(wǎng)相同的子網(wǎng)中的一個(gè)未使用的IP地址。應(yīng)用程序使用這一地址連接RAC數(shù)據(jù)庫。如果一個(gè)節(jié)點(diǎn)出現(xiàn)故障,該虛擬IP將自動(dòng)切換到集群中的另一個(gè)節(jié)點(diǎn),這樣就可以快速響應(yīng)針對故障節(jié)點(diǎn)的連接請求。這提升了應(yīng)用程序的可用性,因?yàn)樗麄兊倪B接請求可自動(dòng)切換到集群中的另一個(gè)實(shí)例,此前不再需要等待網(wǎng)絡(luò)超時(shí)。5集群驗(yàn)證實(shí)用程序Oracle數(shù)據(jù)庫10g第2版引入了一個(gè)新的集群配置驗(yàn)證工具。該集群驗(yàn)證工具通過對前后安裝步驟和/或配置變化進(jìn)行驗(yàn)證,避免發(fā)生錯(cuò)誤。它還可用于現(xiàn)有的集群驗(yàn)證。該工具可以通過命令行接口調(diào)用,也可由其它程序通過API進(jìn)行調(diào)用,如Oracle Universal Installer (OUI)程序。6遠(yuǎn)距離集群RAC在遠(yuǎn)距離集群RAC這一體系結(jié)構(gòu)中,集群中的各節(jié)點(diǎn)位于不同的地理位置。遠(yuǎn)距離集群RAC提供了非常快速的站點(diǎn)故障恢復(fù),允許所有站點(diǎn)中的所有節(jié)點(diǎn)作為單個(gè)數(shù)據(jù)庫集群的一部分主動(dòng)進(jìn)行事務(wù)處理。當(dāng)該體系結(jié)構(gòu)受到世人矚目并成功實(shí)施后,關(guān)鍵是要了解這一體系結(jié)構(gòu)最適用的情形距離、延遲時(shí)間,及其提供的保護(hù)程度。延遲時(shí)間會(huì)產(chǎn)生巨大的影響,所以距離便對這一體系結(jié)構(gòu)的適用情形有一些實(shí)際限制。這一體系結(jié)構(gòu)適用于2個(gè)數(shù)據(jù)中心間的距離相對較小(小于等于100公里),且有資金在兩個(gè)站點(diǎn)間建立帶專用通道的直連線纜的情況。遠(yuǎn)距離集群RAC提供了比本地RAC更高的可用性,但并不能達(dá)到企業(yè)所需的完全災(zāi)難恢復(fù)要求。合理分區(qū)可以很好地防御某些災(zāi)難事件(局部斷電、飛機(jī)失事、機(jī)房被淹),但并不是所有災(zāi)難事件。如地震、颶風(fēng)、區(qū)域性洪災(zāi)會(huì)影響更大的區(qū)域??蛻魬?yīng)通過分析確定一個(gè)災(zāi)難事件是否會(huì)同時(shí)影響兩個(gè)站點(diǎn)。要實(shí)現(xiàn)全面的災(zāi)難防御(包括防御數(shù)據(jù)出錯(cuò)和區(qū)域性災(zāi)難),Oracle建議用戶結(jié)合Data Guard使用RAC,如Oracle高可用性體系結(jié)構(gòu)文檔中所述。Data Guard還提供了其它的一些功能,如支持跨Oracle版本進(jìn)行滾動(dòng)升級(jí)。遠(yuǎn)距離集群的配置也較本地集群復(fù)雜。需要精心考慮節(jié)點(diǎn)的布局、表決磁盤和數(shù)據(jù)磁盤的布置.妥善實(shí)施這一體系結(jié)構(gòu)后,它將提供比本地RAC數(shù)據(jù)庫更高的可用性。Oracle集群件、Oracle真正應(yīng)用集群和自動(dòng)存儲(chǔ)器管理可用于構(gòu)建遠(yuǎn)距離集群。三、 ORACLE RAC的優(yōu)勢1高可用性O(shè)racle真正應(yīng)用集群10g提供了實(shí)現(xiàn)數(shù)據(jù)中心高可用性的基礎(chǔ)架構(gòu)。它還是Oracle高可用性體系結(jié)構(gòu)不可或缺的一部分,提供了構(gòu)建高可用性數(shù)據(jù)管理解決方案的最佳實(shí)踐。Oracle真正應(yīng)用集群針對高可用性解決方案的主要特性提供了保護(hù)功能??煽啃設(shè)racle數(shù)據(jù)庫以其穩(wěn)定性著稱。真正應(yīng)用集群將這一優(yōu)點(diǎn)發(fā)揚(yáng)光大,能夠以單點(diǎn)故障方式移除服務(wù)器。如果一個(gè)實(shí)例故障,集群中的其它實(shí)例將仍然保持運(yùn)行和活動(dòng)狀態(tài)?;謴?fù)能力Oracle數(shù)據(jù)庫包含許多有助于從各類故障中輕松恢復(fù)的功能。如果RAC數(shù)據(jù)庫中的一個(gè)實(shí)例出現(xiàn)故障,集群中的另外一個(gè)實(shí)例將察覺到這一故障,隨后自動(dòng)進(jìn)行故障恢復(fù)。利用快速應(yīng)用程序通知,快速連接故障轉(zhuǎn)移和透明應(yīng)用程序故障切換這三個(gè)功能,應(yīng)用程序可以很方便地掩藏組件故障,使用戶無法察覺。錯(cuò)誤檢測Oracle集群件自動(dòng)監(jiān)控RAC數(shù)據(jù)庫并可對環(huán)境中的錯(cuò)誤進(jìn)行快速檢測。在用戶不知不覺中自動(dòng)完成故障恢復(fù)。使用快速應(yīng)用程序通知功能,應(yīng)用程序能夠在集群組件出現(xiàn)故障出現(xiàn)時(shí)立即得到通知,然后將事務(wù)切換至無故障節(jié)點(diǎn),從而掩藏這一故障,讓用戶無法察覺。持續(xù)運(yùn)行使用真正應(yīng)用集群,在計(jì)劃和意外停機(jī)期間仍可持續(xù)提供服務(wù)。如果一個(gè)節(jié)點(diǎn)(或?qū)嵗┏霈F(xiàn)故障,數(shù)據(jù)庫將仍然保持運(yùn)行狀態(tài),應(yīng)用程序仍可訪問數(shù)據(jù)。大多數(shù)的數(shù)據(jù)庫維護(hù)操作可在不中斷運(yùn)行的情況下完成,并且對用戶透明。其它維護(hù)任務(wù)可以通過滾動(dòng)方式完成,所以可將應(yīng)用程序中斷時(shí)間降至最少,或完全消除。快速應(yīng)用程序通知和快速連接故障切換可幫助應(yīng)用程序達(dá)到服務(wù)水平和掩藏組件故障。2可伸縮性O(shè)racle真正應(yīng)用集群提供了獨(dú)一無二的應(yīng)用程序伸縮技術(shù)。傳統(tǒng)上,當(dāng)服務(wù)器容量不足時(shí),我們會(huì)使用更大的新服務(wù)器來替換它。但服務(wù)器容量越大,其價(jià)格也愈加昂貴。而對于使用了RAC的數(shù)據(jù)庫,我們可選擇其它方法進(jìn)行增容。原先運(yùn)行于大型SMP服務(wù)器上的應(yīng)用程序可移植到小型服務(wù)器集群中運(yùn)行?;蛘?,您也可以選擇保留現(xiàn)有硬件的投資,在集群中加入新服務(wù)器(或創(chuàng)建一個(gè)集群)來增加容量。通過Oracle集群件和RAC向集群中添加服務(wù)器時(shí)并不需要停機(jī),且在啟動(dòng)新實(shí)例后,應(yīng)用程序就可立即利用這些增加的容量。集群中的所有服務(wù)器必須使用同一操作系統(tǒng)和相同版本的Oralce軟件,但其容量不需要一樣。現(xiàn)在,客戶可以根據(jù)自己的需要來選擇集群,可以是由每臺(tái)服務(wù)器含2個(gè)cpu的普通服務(wù)器組成的集群,也可以是每臺(tái)服務(wù)器含32或64個(gè)cpu的服務(wù)器組成的集群。Oracle真正應(yīng)用集群可以自動(dòng)適應(yīng)快速變化的業(yè)務(wù)要求和由此帶來的負(fù)載變化。應(yīng)用程序用戶,或中層應(yīng)用程序服務(wù)器客戶端可使用服務(wù)名連接到數(shù)據(jù)庫。Oracle 可在集群中的多個(gè)節(jié)點(diǎn)中自動(dòng)進(jìn)行負(fù)載均衡。在不同節(jié)點(diǎn)上的真正應(yīng)用集群數(shù)據(jù)庫實(shí)例訂閱了所有或部分?jǐn)?shù)據(jù)庫服務(wù)。這樣DBA就可以靈活地選擇某個(gè)連接到特定數(shù)據(jù)庫服務(wù)是否可以連接到某個(gè)或所有數(shù)據(jù)庫節(jié)點(diǎn)。當(dāng)應(yīng)用需求上升時(shí),管理員可以很方便地增添處理能力。RAC的緩存融合體系結(jié)構(gòu)可立刻使用新節(jié)點(diǎn)的CPU和內(nèi)存資源。DBA不需要手動(dòng)對數(shù)據(jù)進(jìn)行重新分區(qū)。在Oracle數(shù)據(jù)庫中分配負(fù)載的另一個(gè)方法通過Oracle數(shù)據(jù)庫的并行執(zhí)行特性。并行執(zhí)行(如并行查詢或并行DIIL)在多個(gè)進(jìn)程間劃分SQL語句執(zhí)行工作。在Oracle真正應(yīng)用集群環(huán)境中,可在多個(gè)實(shí)例間均衡分配這些進(jìn)程。Oracle提供了基于成本的優(yōu)化程序,它以并行執(zhí)行作為其基礎(chǔ)元素來制定最佳的執(zhí)行方案。在真正應(yīng)用集群環(huán)境中,明智的決策都要考慮到節(jié)點(diǎn)內(nèi)和節(jié)點(diǎn)間的并行性。例如,完成某個(gè)查詢需要6個(gè)查詢進(jìn)程,本地節(jié)點(diǎn)中(用戶連接到的節(jié)點(diǎn))有6個(gè)閑置的CPU,則只需使用本地資源來處理該查詢即可。這演示了高效的結(jié)點(diǎn)間并行性,且消除了在多個(gè)節(jié)點(diǎn)間協(xié)調(diào)查詢的開銷。但是,如果該本地結(jié)點(diǎn)中只有兩個(gè)CPU,那么就由這兩個(gè)CPU再加上其它節(jié)點(diǎn)中的4個(gè)CPU來處理這一查詢。這樣就利用了節(jié)點(diǎn)內(nèi)和節(jié)點(diǎn)間并行性來加快查詢的處理。四、 管理ORACLE真正應(yīng)用集群數(shù)據(jù)庫為便于配置和管理,Oracle真正應(yīng)用集群提供了一個(gè)系統(tǒng)鏡像。用戶可在一個(gè)位置完成RAC數(shù)據(jù)庫的安裝、配置和管理。用于管理數(shù)據(jù)庫的工具和實(shí)用程序都可識(shí)別集群,從Oracle Universal Installer (OUI)到Enterprise Manager,包括數(shù)據(jù)庫配置助理(DBCA)、數(shù)據(jù)庫升級(jí)助理(DBUA)、網(wǎng)絡(luò)配置助理(NETCA)和命令行,如srvctl。1Enterprise Manager 10gEnterprise Manager 10g Database Control是Oracle提供的一個(gè)用于管理Oracle數(shù)據(jù)庫的GUI管理工具。在創(chuàng)建數(shù)據(jù)庫時(shí),DBCA會(huì)自動(dòng)配置Database Control。Enterprise Manager 10g Grid Control是Oracle提供的一個(gè)用于管理企業(yè)的GUI管理工具。用戶可通過Oracle數(shù)據(jù)庫CD包內(nèi)的一張CD來安裝該Grid Control。這些工具都可識(shí)別集群且提供了一個(gè)中央控制臺(tái)來管理您的集群數(shù)據(jù)庫。在Cluster Database Page中,您可以:l 查看整體系統(tǒng)狀態(tài),例如,集群數(shù)據(jù)庫內(nèi)節(jié)點(diǎn)的數(shù)量及其當(dāng)前的狀態(tài)。l 查看所有實(shí)例的警報(bào),同時(shí)詳細(xì)觀察每一警報(bào)的根源和其它信息。l 在集群數(shù)據(jù)庫基礎(chǔ)上設(shè)置警報(bào)閾值。l 監(jiān)視所有實(shí)例的性能標(biāo)準(zhǔn)或逐個(gè)顯示,以便逐個(gè)進(jìn)行比較,或在需要時(shí)了解更詳細(xì)的信息。l 監(jiān)視集群緩存一致性情況(例如:全局緩存獲取等)。l 執(zhí)行集群數(shù)據(jù)庫操作,包括啟動(dòng)備份與恢復(fù),以及開始/停止實(shí)例等。l 管理服務(wù),執(zhí)行創(chuàng)建、更改、啟動(dòng)/終止、啟用/禁用等操作,重新部署服務(wù)并監(jiān)控服務(wù)性能。Oracle Enterprise Manager 10g Grid Control還提供了一個(gè)集群頁面來查看集群硬件和整個(gè)操作系統(tǒng)的狀態(tài)。在集群支持多個(gè)數(shù)據(jù)庫時(shí),這一特性非常實(shí)用。用戶可以輕松了解整體集群平臺(tái)狀態(tài),同時(shí)也可根據(jù)需求詳細(xì)了解每個(gè)獨(dú)數(shù)據(jù)庫的性能。Oracle Enterprise Manager 10g Release 2 Grid Control中提供了一個(gè)實(shí)用工具,該工具可用于自動(dòng)將Oracle數(shù)據(jù)庫實(shí)例轉(zhuǎn)換為RAC數(shù)據(jù)庫實(shí)例。Oracle Enterprise Manager 10g Release 2 Grid Control還提供了其他簡化真正應(yīng)用集群供應(yīng)的功能。使用Enterprise Manager可以輕松地完成創(chuàng)建集群時(shí)涉及的一些工作,如部署Oracle home、配置集群件。Oracle Home軟件可以置于Enterprise Manager中作為“黃金鏡像”,該軟件也可以從其它已知的基準(zhǔn)主機(jī)中獲得?!包S金鏡像”使用一個(gè)已知正常的Oracle Clusterware 10g Release 2或Oracle Real Application Clusters 10g Release 2環(huán)境實(shí)施副本創(chuàng)建而成。在Grid Control 10g Release 2中,該克隆應(yīng)用程序?qū)⒅С謩?chuàng)建完全的端到端新RAC和Oracle集群件軟件,包括執(zhí)行超級(jí)用戶操作(root.sh)和可自定義的前期和反續(xù)步驟。在向當(dāng)前集群中添加新節(jié)點(diǎn)時(shí)也可以使用它。對Linux操作系統(tǒng),Oracle還可以向裸節(jié)點(diǎn)供應(yīng)“鏡像”。該鏡像可以由操作系統(tǒng)、Oracle Enterprise Manager代理、Oracle集群件和帶真正應(yīng)用集群的Oracle數(shù)據(jù)庫組成。該鏡像可以和硬件配置文件關(guān)聯(lián)。這一鏡像的各部分都將作為“黃金鏡像”存儲(chǔ)在Enterprise Manager中。用戶可以使用向?qū)С绦騺磉x擇硬件并將所有鏡像供給新硬件。該新節(jié)點(diǎn)將自動(dòng)添加到這一集群中。2滾動(dòng)補(bǔ)丁應(yīng)用Oracle現(xiàn)在支持以滾動(dòng)方式向RAC數(shù)據(jù)庫的節(jié)點(diǎn)應(yīng)用補(bǔ)丁,而不需要停機(jī)。補(bǔ)丁一次應(yīng)用到一個(gè)節(jié)點(diǎn),而RAC系統(tǒng)中的其它節(jié)點(diǎn)可正常運(yùn)行和操作。這要求每個(gè)節(jié)點(diǎn)都有獨(dú)立的Oracle Home。根據(jù)補(bǔ)丁所做的更改,將補(bǔ)丁標(biāo)記為是否作為滾動(dòng)升級(jí)進(jìn)行安裝。一些更改實(shí)例間共享的公共結(jié)構(gòu)或數(shù)據(jù)庫內(nèi)容的補(bǔ)丁將不會(huì)標(biāo)記為以滾動(dòng)升級(jí)方式安裝。此外,只能滾動(dòng)升級(jí)單個(gè)的補(bǔ)丁,而不是補(bǔ)丁集。這一功能最早在Oracle 中提供。所有Oracle集群件補(bǔ)丁都可以滾動(dòng)方式應(yīng)用。3滾動(dòng)版本升級(jí)支持Oracle集群件支持從第1版(即Cluster Ready Services)滾動(dòng)升級(jí)到第2版。這就可以在集群不停止服務(wù)的情況下升級(jí)集群件,實(shí)現(xiàn)全天候的業(yè)務(wù)運(yùn)行。Oracle RAC 10g第2版支持使用Data Guard SQL Apply以滾動(dòng)方式進(jìn)行數(shù)據(jù)庫軟件升級(jí)(從Oracle數(shù)據(jù)庫10g第1版的補(bǔ)丁集1起),幾乎無需數(shù)據(jù)庫停機(jī)。這些步驟包括將邏輯備用數(shù)據(jù)庫升級(jí)到下一個(gè)版本、在一種混合的模式下運(yùn)行,以測試和驗(yàn)證升級(jí)、通過切換到已升級(jí)的數(shù)據(jù)庫來執(zhí)行角色轉(zhuǎn)換,然后最終升級(jí)舊的主數(shù)據(jù)庫。當(dāng)為了測試而運(yùn)行在一種混合模式下時(shí),可以終止升級(jí),降級(jí)軟件,而不會(huì)有數(shù)據(jù)丟失。為了在這些步驟中提供額外的數(shù)據(jù)保護(hù),可以使用第二個(gè)備用數(shù)據(jù)庫。通過支持具有最小停機(jī)時(shí)間的滾動(dòng)升級(jí),Data Guard縮小了一般包含許多管理任務(wù)的大維護(hù)窗口,并實(shí)現(xiàn)了全天候的業(yè)務(wù)運(yùn)行。五、 使用真正應(yīng)用集群進(jìn)行負(fù)載管理使用RAC數(shù)據(jù)庫的應(yīng)用程序需要跨集群管理負(fù)載。Oracle真正應(yīng)用集群10g提供了創(chuàng)新的技術(shù)來管理工作負(fù)載,通過對應(yīng)用程序進(jìn)行妥善配置并實(shí)現(xiàn)高可用性,可提供最好的應(yīng)用程序吞吐能力。1服務(wù)負(fù)載管理依賴于服務(wù)的使用,服務(wù)是Oracle數(shù)據(jù)庫的10g的特性。服務(wù)通過提供一個(gè)系統(tǒng)鏡像來管理負(fù)載,隱藏了RAC數(shù)據(jù)庫的復(fù)雜性。服務(wù)使得應(yīng)用程序能夠獲益于集群的穩(wěn)定性。通常,數(shù)據(jù)庫提供一個(gè)服務(wù)且該名稱即是賦予SQL*NET的連接數(shù)據(jù)。使用Oracle數(shù)據(jù)庫10g,DBA可以定義多達(dá)100個(gè)由一個(gè)數(shù)據(jù)庫提供的數(shù)據(jù)庫服務(wù)。這使得您可以基于業(yè)務(wù)需求(如服務(wù)水平和優(yōu)先級(jí))將應(yīng)用程序的負(fù)載分解為可管理的部分。服務(wù)與Oracle數(shù)據(jù)庫10g的許多特性進(jìn)行了集成。應(yīng)用程序用戶可以自動(dòng)分配到一個(gè)Resource Manager用戶組,這一用戶組限制了成員可使用的資源,如cpu。批量作業(yè)可基于其服務(wù)分配到特定的作業(yè)類。在使用Oracle Streams Advanced Queuing時(shí),可使用服務(wù)來實(shí)現(xiàn)隊(duì)列的位置透明性。一個(gè)服務(wù)可以跨越一個(gè)Oracle數(shù)據(jù)庫的一個(gè)或多個(gè)實(shí)例,一個(gè)實(shí)例可以支持多個(gè)服務(wù)。提供服務(wù)的實(shí)例數(shù)量是由DBA動(dòng)態(tài)控制的,獨(dú)立于該應(yīng)用程序。當(dāng)發(fā)生故障時(shí),服務(wù)將自動(dòng)恢復(fù)到正常運(yùn)行的實(shí)例中。當(dāng)實(shí)例恢復(fù)后,任何未運(yùn)行的服務(wù)都將自動(dòng)恢復(fù)。2連接負(fù)載均衡Oracle Net Services為數(shù)據(jù)庫連接提供了連接負(fù)載均衡??蛻舳素?fù)載均衡跨集群中所有監(jiān)聽程序進(jìn)行連接請求均衡,方法是將集群中的所有服務(wù)器列入客戶連接字符的地址表。SQL*NET將隨機(jī)選擇其中的一個(gè)服務(wù)器。如果選中的服務(wù)器不可用,將嘗試列表中的下一個(gè)服務(wù)器。服務(wù)器端負(fù)載均衡是在監(jiān)聽程序中實(shí)現(xiàn)的。每個(gè)監(jiān)聽程序會(huì)識(shí)別出集群中刺探每個(gè)服務(wù)的所有實(shí)例?;跒榉?wù)定義的目標(biāo),監(jiān)聽程序會(huì)選擇與目標(biāo)最符合的實(shí)例,然后連接到該實(shí)例。3快速應(yīng)用程序通知(FAN)快速應(yīng)用程序通知提供了RAC數(shù)據(jù)庫和應(yīng)用程序間的集成。利用這一特性,應(yīng)用程序能夠識(shí)別任意給定時(shí)間下的集群當(dāng)前配置,從而僅連接至可響應(yīng)當(dāng)前應(yīng)用程序請求的實(shí)例。當(dāng)集群內(nèi)的狀態(tài)改變時(shí),Oracle RAC 10g高可用性框架將快速地發(fā)出一個(gè)FAN事件。集成客戶端收到這些事件后迅速做出響應(yīng)。對于故障事件,通過清除到故障實(shí)例的連接可以將應(yīng)用程序中斷降至最低,進(jìn)行中的事務(wù)中斷后,將向應(yīng)用程序返回一個(gè)出錯(cuò)提示。嘗試連接的應(yīng)用程序?qū)H指向活動(dòng)實(shí)例。服務(wù)器端調(diào)出可用于記錄故障單或頁,通知管理員出現(xiàn)故障。對于正常運(yùn)行事件,將創(chuàng)建一個(gè)新連接,讓應(yīng)用程序立即利用新增的資源。Oracle JDBC、ODP.NET和OCI客戶端與FAN進(jìn)行了集成。其它應(yīng)用程序可以利用FAN,方法是使用應(yīng)用程序編程接口直接訂閱FAN事件。4負(fù)載均衡顧問程序數(shù)據(jù)庫負(fù)載會(huì)隨著時(shí)間而變化,集群配置也可以更改,因此,基于最新信息創(chuàng)建和分配數(shù)據(jù)庫連接很重要。Oracle Real Application Clusters 10g第2版提供了一個(gè)負(fù)載均衡顧問程序。通過由每個(gè)實(shí)例刺探服務(wù),RAC始終不停的監(jiān)視針對每個(gè)服務(wù)執(zhí)行的負(fù)載。該信息將通過FAN事件發(fā)布到Automatic Workload Repository和應(yīng)用程序。FAN事件包含當(dāng)前所提供的服務(wù)水平,并建議了指向每個(gè)實(shí)例的連接的百分比。集成的Oracle客戶端使用這些事件合理地進(jìn)行應(yīng)用程序請求負(fù)載均衡。當(dāng)應(yīng)用程序要獲取一個(gè)連接時(shí),大多數(shù)的連接池使用隨機(jī)或循環(huán)算法從池中選出一個(gè)空閑連接。使用來自負(fù)載均衡顧問程序的FAN事件,連接池將選擇當(dāng)前提供最佳服務(wù)的連接。Oracle JDBC和ODP.NET通過集成負(fù)載均衡顧問程序來均衡運(yùn)行時(shí)連接負(fù)載。六、 Oracle RAC并行服務(wù)器與雙機(jī)熱備份的比較在Cluster(集群)多機(jī)系統(tǒng)平臺(tái)上,常用的高可用性技術(shù)有兩種:雙機(jī)熱備份和并行服務(wù)器。這兩種方式采用的機(jī)制不同,實(shí)現(xiàn)的效果也不同。Real Application Cluster實(shí)現(xiàn)的是并行服務(wù)器方式。雙機(jī)熱備份方式如上圖所示,在雙機(jī)熱備份方式下,數(shù)據(jù)庫系統(tǒng)平時(shí)只能在一臺(tái)服務(wù)器(例如服務(wù)器A) 上運(yùn)行,另一臺(tái)服務(wù)器無法直接訪問數(shù)據(jù)庫,自然也無法進(jìn)行負(fù)載分擔(dān)。當(dāng)服務(wù)器A由于故障失效時(shí),由相應(yīng)的操作系統(tǒng)軟件控制,將服務(wù)器A管理的存儲(chǔ)設(shè)備(如硬盤)轉(zhuǎn)交給服務(wù)器B控制,同時(shí)在服務(wù)器B上啟動(dòng)另一個(gè)數(shù)據(jù)庫進(jìn)程,管理數(shù)據(jù)庫。這種切換并啟動(dòng)新的數(shù)據(jù)庫核心的過程一般需要幾十秒到幾分鐘。這種方式的主要缺點(diǎn)在于:l 由于需要重新啟動(dòng)數(shù)據(jù)庫核心進(jìn)程,無法保證數(shù)據(jù)庫系統(tǒng)連續(xù)不間斷地運(yùn)行;l 在系統(tǒng)切換的過程中,客戶端與服務(wù)器之間的數(shù)據(jù)庫連接會(huì)中斷,需要重新進(jìn)行數(shù)據(jù)庫的連接和登錄工作;l 由于數(shù)據(jù)庫系統(tǒng)只能在一臺(tái)服務(wù)器上運(yùn)行,另一臺(tái)服務(wù)器無法分擔(dān)系統(tǒng)的負(fù)載,實(shí)際上造成了客戶投資的浪費(fèi)。在有些系統(tǒng)中,為了解決雙機(jī)負(fù)載分擔(dān)的問題,將應(yīng)用系統(tǒng)人為分割為兩個(gè)數(shù)據(jù)庫系統(tǒng),分別在兩臺(tái)服務(wù)器上運(yùn)行。這種方式在一定程度上解決了負(fù)載分擔(dān)的問題,但給系統(tǒng)管理、統(tǒng)計(jì)分析等業(yè)務(wù)處理帶來了很多額外的復(fù)雜性。并行服務(wù)器(Real Application Cluster)方式在并行服務(wù)器方式下,兩臺(tái)(或多臺(tái))服務(wù)器上各自運(yùn)行一個(gè)數(shù)據(jù)庫核心進(jìn)程,但共同管理、操作一個(gè)數(shù)據(jù)庫??蛻舳藷o論連接到哪個(gè)服務(wù)器都可以在數(shù)據(jù)庫中進(jìn)行操作。當(dāng)服務(wù)器A由于故障失效時(shí),數(shù)據(jù)庫系統(tǒng)本身并未停止工作,連接在服務(wù)器B上的客戶端還可以繼續(xù)進(jìn)行正常工作。同時(shí),服務(wù)器B上也不需要再啟動(dòng)新的數(shù)據(jù)庫服務(wù)器進(jìn)程,因此也沒有“切換時(shí)間”。對于一些特殊應(yīng)用中嚴(yán)格要求前端應(yīng)用不能中斷的情況,Oracle并行服務(wù)器還提供了一種“預(yù)連接(pre-connect)”方式,以這種方式連接的客戶端當(dāng)服務(wù)器端發(fā)生故障時(shí),客戶端與數(shù)據(jù)庫服務(wù)器的連接不會(huì)中斷,會(huì)被Oracle并行服務(wù)器軟件自動(dòng)轉(zhuǎn)接到還在正常工作的其它服務(wù)器上,不需要重新輸入用戶名及口令。與雙機(jī)熱備份方式相比,Oracle10g Real Application Cluster并行服務(wù)器方式有以下優(yōu)點(diǎn):l 各服務(wù)器共享一個(gè)數(shù)據(jù)庫,在正常運(yùn)行時(shí)可以進(jìn)行負(fù)載分擔(dān),無需考慮應(yīng)用數(shù)據(jù)的人為分割;l 并行服務(wù)器方式對應(yīng)用完全透明,在應(yīng)用程序設(shè)計(jì)和開發(fā)的過程中也不需要進(jìn)行特殊編程,簡化了開發(fā)的復(fù)雜程度,同時(shí)今后系統(tǒng)擴(kuò)展也無需修改應(yīng)用程序;l 不需要重新啟動(dòng)數(shù)據(jù)庫核心進(jìn)程,縮短了故障造成的停機(jī)時(shí)間。七、 總結(jié)Oracle RAC實(shí)現(xiàn)了高可用性和可伸縮性。通過預(yù)防硬件和軟件故障,Oracle RAC提供了系統(tǒng)高可用性,保障了持續(xù)的數(shù)據(jù)訪問。其橫向和縱向伸縮特性提供了一個(gè)可在任何方向上進(jìn)行擴(kuò)展的平臺(tái),可支持企業(yè)業(yè)務(wù)增長。Oracle RAC提供的透明性讓現(xiàn)有的應(yīng)用程序和許多新開發(fā)的應(yīng)用程序獲益匪淺。應(yīng)用程序的開發(fā)和管理及更改管理因此變得更為簡單,從而降低了總體擁有成本。Oracle真正應(yīng)用集群憑借其功能和性能成為市場中獨(dú)一無二的產(chǎn)品。它在全球擁有上千名用戶,遍及所有行業(yè),涉及任務(wù)關(guān)鍵和許多其它應(yīng)用環(huán)境。八、 部分官方技術(shù)問答1為什么說Oracle Real Application Clusters 10g 要遠(yuǎn)遠(yuǎn)超過它的競爭對手?最基本的不同是,Oracle Real Application Clusters 10g中所有服務(wù)器都可以直接訪問數(shù)據(jù)庫中的所有數(shù)據(jù),其他的數(shù)據(jù)庫在開放系統(tǒng)中都做不到這點(diǎn),正是由于這個(gè)原因,您可以非常方便地根據(jù)需求隨時(shí)增加服務(wù)器來擴(kuò)充您的系統(tǒng),無需重新分布數(shù)據(jù)和應(yīng)用。Real Application Clusters像一個(gè)單一的系統(tǒng)一樣工作,任何節(jié)點(diǎn)的故障都不會(huì)影響其他節(jié)點(diǎn)對數(shù)據(jù)的訪問。所以說增加服務(wù)器就增加了系統(tǒng)的可靠性。另外一點(diǎn),對用戶來說RAC是一個(gè)數(shù)據(jù)庫系統(tǒng),對它的維護(hù)管理如同單機(jī)一樣簡單方便。2Oracle RAC的典型硬件配置是什么樣的?首先我們知道RAC選件支持所有的Oracle數(shù)據(jù)庫支持的平臺(tái),如:Windows,Linux,Solaris,HP-UX等等。所以無論您選擇什么樣的系統(tǒng),RAC都可以非常好的運(yùn)行。如果是系統(tǒng)選型,那要取決于您的應(yīng)用需求。我們可以看到Windows和Linux平臺(tái)都是常用的基于Intel架構(gòu)的平臺(tái),RAC在這些平臺(tái)都有很好的表現(xiàn),這意味著您可以以低成本得到更高的可用性、可靠性和伸縮性。同時(shí),RAC可以在任何價(jià)位上獲得良好的性能,您可以在HP SuperDomes、Sun boxes或Linux/Windows Intel服務(wù)器上非常方便地配置RAC。3SQL Server和IBM DB2都有active-active的故障切換方式,為什么我要采用Oracle Real Application Cluster 10g?其他的數(shù)據(jù)庫系統(tǒng)都無法真正的支持active-active方式的集群系統(tǒng),即集群的兩個(gè)節(jié)點(diǎn)可以支持同樣的應(yīng)用。實(shí)際上,他們只能支持雙向的active-passive架構(gòu),即節(jié)點(diǎn)A運(yùn)行應(yīng)用A,同時(shí)節(jié)點(diǎn)B運(yùn)行應(yīng)用B,每個(gè)節(jié)點(diǎn)作為另一個(gè)節(jié)點(diǎn)的備份節(jié)點(diǎn)。但是同樣的應(yīng)用無法同時(shí)運(yùn)行在兩個(gè)不同的節(jié)點(diǎn)。在Oracle Real Application Cluster 10g中,同樣的應(yīng)用可以運(yùn)行在兩個(gè)或更多的節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)都可作為所有其它節(jié)點(diǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論