- 相關(guān)推薦
ORACLE RAC集群在電力營(yíng)銷(xiāo)系統(tǒng)中的應(yīng)用
摘要:在電力營(yíng)銷(xiāo)系統(tǒng)信息化建設(shè)中,隨著負(fù)載的增加和使用范圍的拓展,對(duì)數(shù)據(jù)庫(kù)可用性、性能等方面的需要也日趨苛刻。本文結(jié)合了某市的電力營(yíng)銷(xiāo)系統(tǒng)建設(shè)實(shí)例,嘗試使用ORACLE RAC集群技術(shù)建立高可用性的電力營(yíng)銷(xiāo)數(shù)據(jù)庫(kù)。
關(guān)鍵詞:高可用性 負(fù)載均衡 TAF 電力營(yíng)銷(xiāo)系統(tǒng)
0 引言
隨著電力管理信息化的不斷普及和深入使用,在電力營(yíng)銷(xiāo)、地理信息化、供電收費(fèi)方面都已經(jīng)實(shí)現(xiàn)系統(tǒng)化管理。而電力營(yíng)銷(xiāo)系統(tǒng)——每時(shí)每刻記錄著每一終端用戶(hù)的用電情況,更是整個(gè)供電系統(tǒng)的重中之重。
本文根據(jù)營(yíng)銷(xiāo)數(shù)據(jù)庫(kù)使用的實(shí)際情況,以集群和Oracle RAC 技術(shù)為出發(fā)點(diǎn),分析了相關(guān)技術(shù)的基本原理,在此基礎(chǔ)上設(shè)計(jì)了Oracle RAC的實(shí)施方案,取得了較好的效果。
1 ORACLE RAC并行集群
1.1 集群技術(shù)概述 集群是一種并行或分布式的處理系統(tǒng),由相互獨(dú)立的、通過(guò)高速網(wǎng)絡(luò)互連的兩個(gè)或多個(gè)計(jì)算機(jī)(節(jié)點(diǎn))組成,通常集群可以劃分為以下兩類(lèi):
1.1.1 高可用性集群,通常采用主、備兩臺(tái)服務(wù)器,由主服務(wù)器對(duì)外提供服務(wù),當(dāng)主服務(wù)器斷電或系統(tǒng)異常時(shí),集群軟件自動(dòng)將集群應(yīng)用切換到備份服務(wù)器,在切換過(guò)程中對(duì)外服務(wù)將發(fā)生中斷。
1.1.2 負(fù)載均衡(并行)集群,負(fù)載均衡集群與高可用性集群相比最大的不同在于負(fù)載均衡集群中的所有節(jié)點(diǎn)都是活動(dòng)節(jié)點(diǎn),都能對(duì)外提供服務(wù),沒(méi)有主備之分,同樣當(dāng)集群?jiǎn)蝹(gè)或部分節(jié)點(diǎn)異常時(shí),剩余節(jié)點(diǎn)將接管故障節(jié)點(diǎn)對(duì)外提供服務(wù)。
1.2 ORACLE RAC并行集群簡(jiǎn)介 Oracle集群實(shí)質(zhì)上就是使多個(gè)服務(wù)器訪問(wèn)同一個(gè)Oracle數(shù)據(jù)庫(kù),這樣一方面可以避免一個(gè)服務(wù)器宕機(jī)時(shí)數(shù)據(jù)庫(kù)不能訪問(wèn),同時(shí)也可以進(jìn)行并行運(yùn)算和負(fù)載均衡。
從軟件組件上來(lái)講,一個(gè)Oracle集群由多臺(tái)服務(wù)器組成,每臺(tái)服務(wù)器有自己的監(jiān)聽(tīng),用于監(jiān)聽(tīng)自己的網(wǎng)絡(luò)端口;每臺(tái)服務(wù)有自己的Oracle RAC服務(wù),用于數(shù)據(jù)庫(kù)的集群訪問(wèn);每臺(tái)服務(wù)器有自己的集群就緒服務(wù),用于集群管理;所有的服務(wù)器通過(guò)自己的操作系統(tǒng)訪問(wèn)一個(gè)共享的存儲(chǔ)設(shè)備。當(dāng)有客戶(hù)端訪問(wèn)時(shí),由上而下依次調(diào)用相應(yīng)的軟件。
從邏輯結(jié)構(gòu)上來(lái)講,集群中的每臺(tái)服務(wù)器有一個(gè)實(shí)例,每臺(tái)服務(wù)器上的實(shí)例都對(duì)應(yīng)到同一個(gè)數(shù)據(jù)庫(kù)。在集群中有兩臺(tái)服務(wù)器,每臺(tái)服務(wù)器擁有一個(gè)實(shí)例,每個(gè)實(shí)例都訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)存儲(chǔ)在共享磁盤(pán)上。
Oracle 10g RAC采用服務(wù)漂移、VIP漂移和TAF透明故障切換等新技術(shù),有效的解決常見(jiàn)的軟硬件故障引起的宕機(jī),如SQL語(yǔ)句故障、用戶(hù)進(jìn)程故障、網(wǎng)絡(luò)故障、用戶(hù)錯(cuò)誤故障、實(shí)例故障和介質(zhì)故障等。
2 RAC集群規(guī)劃
2.1 硬件規(guī)劃
2.1.1 服務(wù)器方面采用2*560A,IBM System p5 560A中型服務(wù)器擁有出色的性?xún)r(jià)比,它基于POWER 5系列CPU下具備了大型機(jī)的可靠性、可用性等。
2.1.2 磁盤(pán)陣列使用DS4700,DS4700是一款中級(jí)存儲(chǔ)服務(wù)器,其存儲(chǔ)能力能夠達(dá)到33.6TB,使用最新的存儲(chǔ)網(wǎng)絡(luò)技術(shù),能夠提供端到端的4 Gbps的光纖通道解決方案。
2.2 網(wǎng)絡(luò)規(guī)劃
2.2.1 由于無(wú)論各節(jié)點(diǎn)間的心跳信息傳遞,應(yīng)用對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)等都對(duì)網(wǎng)絡(luò)傳輸速度以及穩(wěn)定性有較高要求,擬采用H3C S5500千兆光纖交互機(jī)作交換。
2.2.2 由于主機(jī)的網(wǎng)絡(luò)通訊部分亦需要考慮冗余,擬對(duì)每一節(jié)點(diǎn)的服務(wù)器網(wǎng)卡使用綁定技術(shù)兩兩綁定,保證網(wǎng)絡(luò)暢通。
2.3 存儲(chǔ)規(guī)劃
2.3.1 磁盤(pán)陣列方面采用RAID 1+0模式劃分,綜合使用條帶化技術(shù)和鏡像技術(shù),前者把連續(xù)數(shù)據(jù)分割成數(shù)據(jù)庫(kù),分布存儲(chǔ)到各硬盤(pán)上加快速度,后者把數(shù)據(jù)鏡像都其他磁盤(pán)上加強(qiáng)冗余。
2.3.2 共享存儲(chǔ)設(shè)備的存儲(chǔ)機(jī)制擬采用ORACLE自帶的自動(dòng)存儲(chǔ)管理(ASM),使用ASM兼顧了裸設(shè)備的快速I(mǎi)O和OMF文件的方便管理這兩個(gè)優(yōu)點(diǎn)。ASM可以在磁盤(pán)間IO的負(fù)載均衡,完成數(shù)據(jù)的條帶化和鏡像,并執(zhí)行聯(lián)機(jī)磁盤(pán)配置和動(dòng)態(tài)重平衡等,提高I/O的性能和數(shù)據(jù)可靠性。
3 RAC集群實(shí)施
3.1 按照系統(tǒng)規(guī)劃圖搭建系統(tǒng)軟、硬件平臺(tái),安裝AIX操作系統(tǒng),連接光纖存儲(chǔ),綁定網(wǎng)卡,劃分存儲(chǔ)硬盤(pán)。
3.2 按照ORACLE系統(tǒng)要求安裝操作系統(tǒng)補(bǔ)丁,建立oracle用戶(hù)和dba、oinstall組,以及修改系統(tǒng)參數(shù)。
3.3 修改/etc/hosts文件,按照網(wǎng)絡(luò)規(guī)劃添加VIP、Privat-Ip、Public-Ip。
3.4 配置節(jié)點(diǎn)之間的雙機(jī)互信,以便雙機(jī)能夠互訪。
3.5 在ORACLE用戶(hù)下按要求設(shè)置對(duì)應(yīng)環(huán)境變量。
3.6 安裝ORACLE集群軟件,并根據(jù)規(guī)劃設(shè)置VIP。
3.7 以集群模式安裝數(shù)據(jù)庫(kù)應(yīng)用軟件。
3.8 創(chuàng)建ASM實(shí)例,按規(guī)劃把對(duì)應(yīng)的裸設(shè)備磁盤(pán)加入磁盤(pán)組,由于陣列劃分的時(shí)候已經(jīng)做了鏡像,在這里只使用ASM的條帶化功能。
3.9 創(chuàng)建ORACLE實(shí)例,并使用crs_stat _t命令查看集群狀態(tài)。
3.10 使用DBCA創(chuàng)建TAF服務(wù)。
4 RAC集群測(cè)試
4.1 TAF測(cè)試 ①使用服務(wù)器上TNSNAME.ORA里面的TAF參數(shù),配置鏈接數(shù)據(jù)庫(kù)。②使用SQLPLUS鏈接數(shù)據(jù)庫(kù),執(zhí)行一個(gè)大的查詢(xún)(幾萬(wàn)條)。③查詢(xún)gv$session視圖,確認(rèn)當(dāng)前鏈接所對(duì)應(yīng)的實(shí)例。④使用srvctl等命令關(guān)閉當(dāng)前鏈接對(duì)應(yīng)的實(shí)例。
測(cè)試結(jié)果:數(shù)據(jù)表查詢(xún)過(guò)程中出現(xiàn)幾秒鐘的中斷,然后查詢(xún)繼續(xù)進(jìn)行, 查詢(xún)完畢后顯示的記錄數(shù)目與表中數(shù)據(jù)的實(shí)際數(shù)目一致;查詢(xún)gv$session視圖顯示鏈接已經(jīng)轉(zhuǎn)移到另一節(jié)點(diǎn),在當(dāng)前活動(dòng)的實(shí)例節(jié)點(diǎn)上使用NETSTAT命令查看,發(fā)現(xiàn)關(guān)閉實(shí)例節(jié)點(diǎn)的VIP已成功漂移。
4.2 負(fù)載均衡測(cè)試 通過(guò)Loadrunner模擬每隔1秒登錄一個(gè)用戶(hù)并運(yùn)行不同的SQL語(yǔ)句;查詢(xún)gv$session視圖動(dòng)態(tài)跟蹤兩節(jié)點(diǎn)相關(guān)的session數(shù)量變化信息。
測(cè)試結(jié)果:發(fā)現(xiàn)兩節(jié)點(diǎn)上的session 數(shù)量均衡分布,新增加session 會(huì)自動(dòng)連接到相對(duì)較為空閑的節(jié)點(diǎn)上。這說(shuō)明應(yīng)用負(fù)載被自動(dòng)均衡分布到所有的節(jié)點(diǎn)上。
5 結(jié)束語(yǔ)
Oracle RAC作為一種出色的高可用性集群,在容錯(cuò)、負(fù)載均衡以及并發(fā)處理方面都有突出特點(diǎn)。本文根據(jù)某市電力營(yíng)銷(xiāo)系統(tǒng)的建設(shè)情況,結(jié)合ORACLE RAC技術(shù),為前端應(yīng)用系統(tǒng)提供了較好的后臺(tái)數(shù)據(jù)庫(kù)支撐。
參考文獻(xiàn):
[1]王強(qiáng).Oracle10g RAC技術(shù)在OPENAV系統(tǒng)中的應(yīng)用,機(jī)械工業(yè)信息與網(wǎng)絡(luò),2008年第3期.
[2]Auguet,ORACLE RAC 概念介紹 51CTO技術(shù)論壇.
http://bbs.51cto.com/thread-542599-1.html
[3]吳志遠(yuǎn),黃維平.Oracle10g RAC在數(shù)字化校園中的應(yīng)用網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008.12.
[4]James,ASM 概述(good),百度BLOG.
http://hi.baidu.com/dba_james/blog/item/57e1abee1c98e7e8cf1b3e33.html
【ORACLE RAC集群在電力營(yíng)銷(xiāo)系統(tǒng)中的應(yīng)用】相關(guān)文章:
談電力營(yíng)銷(xiāo)系統(tǒng)建設(shè)與應(yīng)用03-18
探析廣域測(cè)量系統(tǒng)在電力系統(tǒng)中的應(yīng)用03-18
電力自動(dòng)化技術(shù)在電力系統(tǒng)中的應(yīng)用06-17
Oracle觸發(fā)器在MIS 開(kāi)發(fā)中的應(yīng)用03-18
電力營(yíng)銷(xiāo)管理系統(tǒng)的構(gòu)建內(nèi)涵11-29
策論電氣自動(dòng)化技術(shù)在電力系統(tǒng)中的應(yīng)用02-28
電能信息采集系統(tǒng)設(shè)計(jì)及其在營(yíng)銷(xiāo)業(yè)務(wù)中的應(yīng)用11-19