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ù)免費閱讀

下載本文檔

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

溫馨提示

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

評論

0/150

提交評論