賀力偉
(湖南省電力公司邵陽(yáng)電業(yè)局,湖南邵陽(yáng) 422000)
基于RAC技術(shù)在農(nóng)電營(yíng)銷(xiāo)系統(tǒng)中的應(yīng)用
賀力偉
(湖南省電力公司邵陽(yáng)電業(yè)局,湖南邵陽(yáng) 422000)
介紹oracle RAC技術(shù)在SG186農(nóng)電營(yíng)銷(xiāo)系統(tǒng)的成功應(yīng)用,對(duì)RAC的安裝、配置步驟及注意事項(xiàng)進(jìn)行詳細(xì)說(shuō)明,同時(shí)列舉RAC日常管理的常用命令,對(duì)實(shí)際碰到的故障現(xiàn)象及其處理方法進(jìn)行簡(jiǎn)單介紹。
RAC;集群;農(nóng)電營(yíng)銷(xiāo)系統(tǒng)
隨著SG186農(nóng)電營(yíng)銷(xiāo)系統(tǒng)在各供電局、農(nóng)村供電所的上線運(yùn)行,實(shí)現(xiàn)了農(nóng)村用電業(yè)務(wù)、計(jì)費(fèi)、統(tǒng)計(jì)、分析、服務(wù)平臺(tái)的一體化,系統(tǒng)進(jìn)一步深化應(yīng)用對(duì)系統(tǒng)的處理能力和穩(wěn)定性提出了更高的要求,運(yùn)用Oracle RAC集群技術(shù),對(duì)保證農(nóng)電營(yíng)銷(xiāo)系統(tǒng)7×24 h不間斷運(yùn)行的高可靠性和高可用性,確保各項(xiàng)營(yíng)銷(xiāo)業(yè)務(wù)的順利開(kāi)展顯得尤為重要。
RAC(Real Application Cluster,真正應(yīng)用集群技術(shù))是Oracle數(shù)據(jù)庫(kù)的1個(gè)組件,它實(shí)現(xiàn)了多個(gè)實(shí)例同時(shí)訪問(wèn)和管理同一數(shù)據(jù)庫(kù),多個(gè)實(shí)例可以存在于不同節(jié)點(diǎn),也可以在相同的節(jié)點(diǎn)上,彼此通過(guò)內(nèi)網(wǎng)連接交換數(shù)據(jù),并且能夠自動(dòng)平衡負(fù)載,如果其中某個(gè)節(jié)點(diǎn)發(fā)生故障,RAC能夠通過(guò)后臺(tái)的監(jiān)控進(jìn)程將連接自動(dòng)切換到另外1個(gè)或多個(gè)節(jié)點(diǎn)上,從而實(shí)現(xiàn)應(yīng)用的無(wú)縫切換,對(duì)實(shí)例的高可用提供保護(hù)。Oracle RAC體系結(jié)構(gòu)可以分為4個(gè)層次,見(jiàn)表1。
表1 RAC的體系結(jié)構(gòu)
農(nóng)電管理系統(tǒng)是邵陽(yáng)電業(yè)局目前應(yīng)用最為廣泛的系統(tǒng)之一,已應(yīng)用至各供電單位農(nóng)電服務(wù)公司及其所有供電所,目前系統(tǒng)共有1 968個(gè)注冊(cè)用戶,用電客戶數(shù)是864 523戶,平均每天在線使用系統(tǒng)達(dá)1 800人左右,系統(tǒng)功能涵蓋業(yè)擴(kuò)報(bào)裝、抄表核算、電費(fèi)收繳、計(jì)量管理、線損管理、報(bào)表管理等農(nóng)電營(yíng)銷(xiāo)的各個(gè)環(huán)節(jié)。通過(guò)該系統(tǒng)管理實(shí)現(xiàn)了“一個(gè)集中、二個(gè)統(tǒng)一、三個(gè)規(guī)范”。一個(gè)集中即數(shù)據(jù)集中處理、保存,因而確保了數(shù)據(jù)的真實(shí)和安全,便于管理層對(duì)基礎(chǔ)數(shù)據(jù)的掌控;二個(gè)統(tǒng)一即統(tǒng)一電價(jià)核發(fā)、統(tǒng)一結(jié)算日期,從而確保了電價(jià)執(zhí)行到位,杜絕了關(guān)系電、人情電、權(quán)力電的產(chǎn)生,確保了所有供電所在同一起跑線上,保證量、價(jià)、費(fèi)、損數(shù)據(jù)的真實(shí)可靠,方便下一步啟動(dòng)農(nóng)村供電所同業(yè)對(duì)標(biāo);三個(gè)規(guī)范即規(guī)范了業(yè)擴(kuò)流程、營(yíng)銷(xiāo)模式、崗位管理權(quán)限,所有業(yè)務(wù)工作要求強(qiáng)制通過(guò)系統(tǒng)走規(guī)范化的流程,營(yíng)銷(xiāo)管理按各崗位職責(zé)劃分設(shè)置權(quán)限,實(shí)行分片負(fù)責(zé)制,同時(shí)所有工作實(shí)現(xiàn)了有序的統(tǒng)一,既便于各所為客戶提供優(yōu)質(zhì)服務(wù),又可實(shí)現(xiàn)各崗位之間的互相監(jiān)督。
由于農(nóng)電營(yíng)銷(xiāo)系統(tǒng)是一個(gè)實(shí)時(shí)在線系統(tǒng),它需要7×24 h對(duì)外提供服務(wù),而傳統(tǒng)的單機(jī)服務(wù)器與Oracle數(shù)據(jù)庫(kù)軟件可能因?yàn)檐?、硬件故障無(wú)法提供不間斷的服務(wù),運(yùn)用RAC技術(shù)在服務(wù)器上搭建高可用的集群環(huán)境,當(dāng)1臺(tái)服務(wù)器宕機(jī)或磁盤(pán)故障時(shí),系統(tǒng)會(huì)自動(dòng)重新接管發(fā)生故障的功能,而不會(huì)導(dǎo)致系統(tǒng)不可用,以此來(lái)保證系統(tǒng)的高可用性。同時(shí)運(yùn)行RAC技術(shù)也可以達(dá)到并行運(yùn)算和負(fù)載均衡,提高系統(tǒng)的性能。當(dāng)應(yīng)用規(guī)模需要擴(kuò)充時(shí) (支持更多的數(shù)據(jù)、用戶或應(yīng)用),可以通過(guò)增加1臺(tái)或多臺(tái)低成本的服務(wù)器來(lái)擴(kuò)充應(yīng)用系統(tǒng)的處理能力,滿足應(yīng)用需求。而增加服務(wù)器或改變其他組件的配置對(duì)前端用戶完全透明,也不用修改應(yīng)用程序,不會(huì)影響整個(gè)系統(tǒng)的正常運(yùn)轉(zhuǎn)。
系統(tǒng)總體配置如圖1。
圖1 總體配置圖
3.2.1 硬件
(1)主機(jī):IBMX3650服務(wù)器共2臺(tái),分別設(shè)置計(jì)算機(jī)名RAC1、RAC2,每臺(tái)IBM服務(wù)器上各有1塊RAID卡,2塊HBA卡,2個(gè)千兆網(wǎng)卡。
(2)存儲(chǔ):IBM DS4700存儲(chǔ)1臺(tái),共7塊FC 150 GB 15K硬盤(pán),采用RAID5存儲(chǔ),其中表決磁盤(pán)voting劃為300M,集群管理ocr劃為300 M。
(3)交換機(jī):Brocade 300 2臺(tái),6個(gè)SPF光纖模塊
3.2.2 軟件
(1)主機(jī)操作系統(tǒng)版本:Windows Server 2003 Enterprise Edition R2 32bit
(2)Oracle 版本:10.2.0.4
(3)Cluster版本:10.2.0.4
3.2.3 網(wǎng)絡(luò)
(1)RAC1公共 IP 地址:10.233.0.101,對(duì)應(yīng)公共網(wǎng)卡 (public),虛擬 IP地址 (VIP):10.233.0.103,私有 IP 地址:10.10.10.1,對(duì)應(yīng)私有網(wǎng)卡 (private)。
(2)RAC2公共 IP 地址:10.233.0.102,虛擬IP 地址 (VIP):10.233.0.104,私有 IP 地址:10.10.10.2。
3.2.4 數(shù)據(jù)庫(kù) (見(jiàn)表2)
表2 數(shù)據(jù)庫(kù)環(huán)境概況
3.2.1 主機(jī)安裝與配置
(1)在主機(jī)上安裝Windows Server 2003 Enterprise Edition R2 32bit操作系統(tǒng),并升級(jí)所有補(bǔ)丁。
(2)將主機(jī)2塊網(wǎng)卡名改為public和private,設(shè)置相對(duì)應(yīng)的IP地址,然后在網(wǎng)絡(luò)連接的高級(jí)設(shè)置中檢查被網(wǎng)絡(luò)服務(wù)訪問(wèn)的連接順序,確保public位于第1位。
(3)修改主機(jī)名與Host文件,用ping命令測(cè)試RAC1和RAC2之間的連通性。
(4)禁用 Windows Media Sensing for TCP/IP。
(5)設(shè)置虛擬內(nèi)存為物理內(nèi)存的2倍左右。
(6)禁用共享存儲(chǔ)的寫(xiě)緩存。
(7)啟動(dòng)自動(dòng)掛載:
(8)初始化存儲(chǔ)的磁盤(pán)。新建1個(gè)擴(kuò)展分區(qū),將擴(kuò)展分區(qū)分成3個(gè)邏輯分區(qū):ocr使用裸設(shè)備、vote使用裸設(shè)備、數(shù)據(jù)文件使用ASM。然后重啟,啟動(dòng)后一定要查看RAC2的磁盤(pán),確保先前設(shè)置的共享磁盤(pán),在RAC2中系統(tǒng)沒(méi)有自動(dòng)為其分配盤(pán)符,如果分配的話刪除,然后重新啟動(dòng)。
(9)在每個(gè)節(jié)點(diǎn)上設(shè)置環(huán)境變量。在RAC1和RAC2上分別增加變量值ORACLE—SID和PATH。
(10)檢測(cè)節(jié)點(diǎn)之間能否互相訪問(wèn)共享:
(11)進(jìn)行時(shí)間同步:
(12)所有的環(huán)境設(shè)置好了,可以利用cluster ware軟件包中的cluvfy工具檢查安裝是否符合所有條件:
等結(jié)果出來(lái),看是否條件都滿足安裝RAC的要求,如果有不符合要求的地方,則進(jìn)行相應(yīng)的調(diào)整。
3.2.2 Clusterware和數(shù)據(jù)庫(kù)的安裝、配置
(1)安裝Clusterware軟件,設(shè)置OCR和表決磁盤(pán)的存放地方,注意在安裝檢測(cè)一般會(huì)在VIP配置處出錯(cuò),錯(cuò)誤時(shí)不要理會(huì),直接點(diǎn)OK。配置完成后手工運(yùn)行vipca.bat,重新設(shè)定VIP。
(2)安裝 database軟件,選擇集群安裝模式且暫不安裝數(shù)據(jù)庫(kù);安裝完成后,在RAC2上面運(yùn)行selecthome.bat激活相應(yīng)的組件,然后退出。
(3)使用asmtoollg工具標(biāo)識(shí)ASM驅(qū)動(dòng)器。
(4)升級(jí)數(shù)據(jù)庫(kù)版本。首先停止所有數(shù)據(jù)庫(kù)和集群服務(wù);其中clusterware和oracle需要分別升級(jí),升級(jí)包都在同1個(gè)補(bǔ)丁包里面,升級(jí)的時(shí)候需要分別選擇 CRS—HOME和 ORACLE—HOME.,這點(diǎn)一定要注意。
升級(jí)完成后查詢(xún)clusterware版本
crsctl query crs softwareversion
查詢(xún)數(shù)據(jù)庫(kù)及其組件版本
select* from v$version;
(5)使用dbca安裝數(shù)據(jù)庫(kù),選擇數(shù)據(jù)庫(kù)的字符集與合適的數(shù)據(jù)文件大小;創(chuàng)建需要的表空間,修改其他的表空間大小。
(6)調(diào)整數(shù)據(jù)庫(kù)相關(guān)的參數(shù)修改SGA大小
在農(nóng)電營(yíng)銷(xiāo)系統(tǒng)部署完Oracle RAC后,要經(jīng)常對(duì)RAC的狀態(tài)與日志進(jìn)行查看,以確保RAC的穩(wěn)定運(yùn)行與農(nóng)電系統(tǒng)的高可用,下面將結(jié)合Oracle Clusterware的命令集 (表3)對(duì)RAC的日常管理與維護(hù)進(jìn)行簡(jiǎn)單介紹。
表3 Oracle Clusterware命令集
命令:crs—stat– t
正常狀態(tài)應(yīng)如下,所有格組件均為online狀態(tài)。
CRS(Cluster Ready Service)集群就緒服務(wù),它主要管理注冊(cè)到 Cluster中的資源 (如 VIP、instance、DB等),使用Crsctl命令可以用來(lái)檢查CRS進(jìn)程棧,每個(gè)crs進(jìn)程狀態(tài),管理Votedisk,跟蹤C(jī)RS進(jìn)程功能。
檢查CRS狀態(tài)
crsctl check crs
啟動(dòng)和停止CRS.
crsctl start crs
crsctl stop crs
OCR(Oracle Cluster Registry)用于保存集群和數(shù)據(jù)庫(kù)的配置信息,作為 CRS的關(guān)鍵組件,OCR必須保存于共享存儲(chǔ)上,這個(gè)存儲(chǔ)就是OCR Disk,OCR的內(nèi)容非常重要,Oracle每4 h對(duì)其做1次備份,并且保留最后的3個(gè)備份,以及前1天,前1周的最后1個(gè)備份。備份的默認(rèn)位置是$CRS—HOMEcrscdata <cluster—name>目錄下。
檢查OCR內(nèi)容的一致性
Ocrcheck
OCR內(nèi)容的備份與恢復(fù)
Ocrconfig
故障現(xiàn)象:2010年5月5日,農(nóng)電系統(tǒng)RAC集群?jiǎn)?dòng)異常,查詢(xún)Crs的日志,crsd.log有如下報(bào)錯(cuò)內(nèi)容:
故障處理:從日志分析,可能OCR有問(wèn)題,故對(duì)OCR配置進(jìn)行了恢得,首先通過(guò)ocrconfig–showbackup查看可用的備份,然后用ocrconfig–restore進(jìn)行恢復(fù),再重啟RAC,故障消除。
6.1 通過(guò)RAC技術(shù)在農(nóng)電營(yíng)銷(xiāo)系統(tǒng)的應(yīng)用,為系統(tǒng)搭建雙機(jī)熱備+負(fù)載均衡的運(yùn)行模式,充分利用了軟、硬件資源,提高了系統(tǒng)的穩(wěn)定性與高可用性。
6.2 運(yùn)用RAC集群的管理工具與命令可有效促進(jìn)對(duì)RAC的日常管理與運(yùn)維。
〔1〕陳吉平.Oracle高可用環(huán)境〔M〕.北京:電子工業(yè)出版社,2008.
〔2〕白鱗.Oracle RAC日志〔M〕.北京:人民郵電出版社,2010.
TP29
B
1008-0198(2011)03-0021-04
10.3969/j.issn.1008-0198.2011.03.007
2010-08-05 改加日期:2011-02-24