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