賀力偉
(湖南省電力公司邵陽電業(yè)局,湖南邵陽 422000)
基于RAC技術在農(nóng)電營銷系統(tǒng)中的應用
賀力偉
(湖南省電力公司邵陽電業(yè)局,湖南邵陽 422000)
介紹oracle RAC技術在SG186農(nóng)電營銷系統(tǒng)的成功應用,對RAC的安裝、配置步驟及注意事項進行詳細說明,同時列舉RAC日常管理的常用命令,對實際碰到的故障現(xiàn)象及其處理方法進行簡單介紹。
RAC;集群;農(nóng)電營銷系統(tǒng)
隨著SG186農(nóng)電營銷系統(tǒng)在各供電局、農(nóng)村供電所的上線運行,實現(xiàn)了農(nóng)村用電業(yè)務、計費、統(tǒng)計、分析、服務平臺的一體化,系統(tǒng)進一步深化應用對系統(tǒng)的處理能力和穩(wěn)定性提出了更高的要求,運用Oracle RAC集群技術,對保證農(nóng)電營銷系統(tǒng)7×24 h不間斷運行的高可靠性和高可用性,確保各項營銷業(yè)務的順利開展顯得尤為重要。
RAC(Real Application Cluster,真正應用集群技術)是Oracle數(shù)據(jù)庫的1個組件,它實現(xiàn)了多個實例同時訪問和管理同一數(shù)據(jù)庫,多個實例可以存在于不同節(jié)點,也可以在相同的節(jié)點上,彼此通過內網(wǎng)連接交換數(shù)據(jù),并且能夠自動平衡負載,如果其中某個節(jié)點發(fā)生故障,RAC能夠通過后臺的監(jiān)控進程將連接自動切換到另外1個或多個節(jié)點上,從而實現(xiàn)應用的無縫切換,對實例的高可用提供保護。Oracle RAC體系結構可以分為4個層次,見表1。

表1 RAC的體系結構
農(nóng)電管理系統(tǒng)是邵陽電業(yè)局目前應用最為廣泛的系統(tǒng)之一,已應用至各供電單位農(nóng)電服務公司及其所有供電所,目前系統(tǒng)共有1 968個注冊用戶,用電客戶數(shù)是864 523戶,平均每天在線使用系統(tǒng)達1 800人左右,系統(tǒng)功能涵蓋業(yè)擴報裝、抄表核算、電費收繳、計量管理、線損管理、報表管理等農(nóng)電營銷的各個環(huán)節(jié)。通過該系統(tǒng)管理實現(xiàn)了“一個集中、二個統(tǒng)一、三個規(guī)范”。一個集中即數(shù)據(jù)集中處理、保存,因而確保了數(shù)據(jù)的真實和安全,便于管理層對基礎數(shù)據(jù)的掌控;二個統(tǒng)一即統(tǒng)一電價核發(fā)、統(tǒng)一結算日期,從而確保了電價執(zhí)行到位,杜絕了關系電、人情電、權力電的產(chǎn)生,確保了所有供電所在同一起跑線上,保證量、價、費、損數(shù)據(jù)的真實可靠,方便下一步啟動農(nóng)村供電所同業(yè)對標;三個規(guī)范即規(guī)范了業(yè)擴流程、營銷模式、崗位管理權限,所有業(yè)務工作要求強制通過系統(tǒng)走規(guī)范化的流程,營銷管理按各崗位職責劃分設置權限,實行分片負責制,同時所有工作實現(xiàn)了有序的統(tǒng)一,既便于各所為客戶提供優(yōu)質服務,又可實現(xiàn)各崗位之間的互相監(jiān)督。
由于農(nóng)電營銷系統(tǒng)是一個實時在線系統(tǒng),它需要7×24 h對外提供服務,而傳統(tǒng)的單機服務器與Oracle數(shù)據(jù)庫軟件可能因為軟、硬件故障無法提供不間斷的服務,運用RAC技術在服務器上搭建高可用的集群環(huán)境,當1臺服務器宕機或磁盤故障時,系統(tǒng)會自動重新接管發(fā)生故障的功能,而不會導致系統(tǒng)不可用,以此來保證系統(tǒng)的高可用性。同時運行RAC技術也可以達到并行運算和負載均衡,提高系統(tǒng)的性能。當應用規(guī)模需要擴充時 (支持更多的數(shù)據(jù)、用戶或應用),可以通過增加1臺或多臺低成本的服務器來擴充應用系統(tǒng)的處理能力,滿足應用需求。而增加服務器或改變其他組件的配置對前端用戶完全透明,也不用修改應用程序,不會影響整個系統(tǒng)的正常運轉。
系統(tǒng)總體配置如圖1。

圖1 總體配置圖
3.2.1 硬件
(1)主機:IBMX3650服務器共2臺,分別設置計算機名RAC1、RAC2,每臺IBM服務器上各有1塊RAID卡,2塊HBA卡,2個千兆網(wǎng)卡。
(2)存儲:IBM DS4700存儲1臺,共7塊FC 150 GB 15K硬盤,采用RAID5存儲,其中表決磁盤voting劃為300M,集群管理ocr劃為300 M。
(3)交換機:Brocade 300 2臺,6個SPF光纖模塊
3.2.2 軟件
(1)主機操作系統(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)絡
(1)RAC1公共 IP 地址:10.233.0.101,對應公共網(wǎng)卡 (public),虛擬 IP地址 (VIP):10.233.0.103,私有 IP 地址:10.10.10.1,對應私有網(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 主機安裝與配置
(1)在主機上安裝Windows Server 2003 Enterprise Edition R2 32bit操作系統(tǒng),并升級所有補丁。
(2)將主機2塊網(wǎng)卡名改為public和private,設置相對應的IP地址,然后在網(wǎng)絡連接的高級設置中檢查被網(wǎng)絡服務訪問的連接順序,確保public位于第1位。
(3)修改主機名與Host文件,用ping命令測試RAC1和RAC2之間的連通性。
(4)禁用 Windows Media Sensing for TCP/IP。
(5)設置虛擬內存為物理內存的2倍左右。
(6)禁用共享存儲的寫緩存。
(7)啟動自動掛載:

(8)初始化存儲的磁盤。新建1個擴展分區(qū),將擴展分區(qū)分成3個邏輯分區(qū):ocr使用裸設備、vote使用裸設備、數(shù)據(jù)文件使用ASM。然后重啟,啟動后一定要查看RAC2的磁盤,確保先前設置的共享磁盤,在RAC2中系統(tǒng)沒有自動為其分配盤符,如果分配的話刪除,然后重新啟動。
(9)在每個節(jié)點上設置環(huán)境變量。在RAC1和RAC2上分別增加變量值ORACLE—SID和PATH。
(10)檢測節(jié)點之間能否互相訪問共享:

(11)進行時間同步:

(12)所有的環(huán)境設置好了,可以利用cluster ware軟件包中的cluvfy工具檢查安裝是否符合所有條件:

等結果出來,看是否條件都滿足安裝RAC的要求,如果有不符合要求的地方,則進行相應的調整。
3.2.2 Clusterware和數(shù)據(jù)庫的安裝、配置
(1)安裝Clusterware軟件,設置OCR和表決磁盤的存放地方,注意在安裝檢測一般會在VIP配置處出錯,錯誤時不要理會,直接點OK。配置完成后手工運行vipca.bat,重新設定VIP。
(2)安裝 database軟件,選擇集群安裝模式且暫不安裝數(shù)據(jù)庫;安裝完成后,在RAC2上面運行selecthome.bat激活相應的組件,然后退出。
(3)使用asmtoollg工具標識ASM驅動器。
(4)升級數(shù)據(jù)庫版本。首先停止所有數(shù)據(jù)庫和集群服務;其中clusterware和oracle需要分別升級,升級包都在同1個補丁包里面,升級的時候需要分別選擇 CRS—HOME和 ORACLE—HOME.,這點一定要注意。
升級完成后查詢clusterware版本
crsctl query crs softwareversion
查詢數(shù)據(jù)庫及其組件版本
select* from v$version;
(5)使用dbca安裝數(shù)據(jù)庫,選擇數(shù)據(jù)庫的字符集與合適的數(shù)據(jù)文件大小;創(chuàng)建需要的表空間,修改其他的表空間大小。
(6)調整數(shù)據(jù)庫相關的參數(shù)修改SGA大小

在農(nóng)電營銷系統(tǒng)部署完Oracle RAC后,要經(jīng)常對RAC的狀態(tài)與日志進行查看,以確保RAC的穩(wěn)定運行與農(nóng)電系統(tǒng)的高可用,下面將結合Oracle Clusterware的命令集 (表3)對RAC的日常管理與維護進行簡單介紹。

表3 Oracle Clusterware命令集
命令:crs—stat– t
正常狀態(tài)應如下,所有格組件均為online狀態(tài)。

CRS(Cluster Ready Service)集群就緒服務,它主要管理注冊到 Cluster中的資源 (如 VIP、instance、DB等),使用Crsctl命令可以用來檢查CRS進程棧,每個crs進程狀態(tài),管理Votedisk,跟蹤CRS進程功能。
檢查CRS狀態(tài)
crsctl check crs
啟動和停止CRS.
crsctl start crs
crsctl stop crs
OCR(Oracle Cluster Registry)用于保存集群和數(shù)據(jù)庫的配置信息,作為 CRS的關鍵組件,OCR必須保存于共享存儲上,這個存儲就是OCR Disk,OCR的內容非常重要,Oracle每4 h對其做1次備份,并且保留最后的3個備份,以及前1天,前1周的最后1個備份。備份的默認位置是$CRS—HOMEcrscdata <cluster—name>目錄下。
檢查OCR內容的一致性
Ocrcheck
OCR內容的備份與恢復
Ocrconfig
故障現(xiàn)象:2010年5月5日,農(nóng)電系統(tǒng)RAC集群啟動異常,查詢Crs的日志,crsd.log有如下報錯內容:


故障處理:從日志分析,可能OCR有問題,故對OCR配置進行了恢得,首先通過ocrconfig–showbackup查看可用的備份,然后用ocrconfig–restore進行恢復,再重啟RAC,故障消除。
6.1 通過RAC技術在農(nóng)電營銷系統(tǒng)的應用,為系統(tǒng)搭建雙機熱備+負載均衡的運行模式,充分利用了軟、硬件資源,提高了系統(tǒng)的穩(wěn)定性與高可用性。
6.2 運用RAC集群的管理工具與命令可有效促進對RAC的日常管理與運維。
〔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