摘要:教務(wù)管理系統(tǒng)是數(shù)字化校園建設(shè)的一個(gè)重要部分,其數(shù)據(jù)安全是一個(gè)重要的課題。該文通過(guò)設(shè)計(jì)一套完整的方案,運(yùn)用先進(jìn)的信息技術(shù),來(lái)確保教務(wù)系統(tǒng)數(shù)據(jù)的安全與完整,提出規(guī)范的管理方案。為數(shù)字化校園的核心數(shù)據(jù)提供安全保障策略。
關(guān)鍵詞:教務(wù)管理系統(tǒng);數(shù)據(jù)安全;數(shù)字化校園
中圖分類(lèi)號(hào):TP309文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)27-7828-02
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,很多高校的建立了自己的數(shù)字化校園系統(tǒng),教務(wù)管理系統(tǒng)是數(shù)字化校園系統(tǒng)的重要組成部分。該系統(tǒng)包含了幾乎所有教工和學(xué)生的基本信息,是一個(gè)學(xué)校的核心數(shù)據(jù)。這些數(shù)據(jù)的安全問(wèn)題日益嚴(yán)峻,包括由硬件、軟件所引起的數(shù)據(jù)破壞甚至丟失。如何保證服務(wù)器安全,數(shù)據(jù)庫(kù)管理系統(tǒng)的安全已經(jīng)成為亟待解決的問(wèn)題。
該文專(zhuān)門(mén)就我院的教務(wù)系統(tǒng)數(shù)據(jù)的安全提出一套完整的解決方案。包括:對(duì)于Oracle 9i數(shù)據(jù)庫(kù)的備份和恢復(fù)策略以及異地備份;服務(wù)器的雙機(jī)熱備份方案進(jìn)行探討。
1 教務(wù)系統(tǒng)中數(shù)據(jù)庫(kù)管理系統(tǒng)的安全
1.1 教務(wù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)日常運(yùn)行存在的安全威脅
我院的教務(wù)管理系統(tǒng)是.NET平臺(tái)下開(kāi)發(fā)的軟件,后臺(tái)的數(shù)據(jù)庫(kù)管理軟件是Oracle 9i,在近兩年的維護(hù)管理中,很多問(wèn)題都是出現(xiàn)在數(shù)據(jù)庫(kù)中的,前臺(tái)程序出現(xiàn)的問(wèn)題很少。一些常見(jiàn)的故障類(lèi)型主要有:
① 人為的一些操作失誤而導(dǎo)致的數(shù)據(jù)丟失;
② 用戶(hù)寫(xiě)的語(yǔ)句失敗,進(jìn)程失敗、實(shí)例失敗;
③ 存儲(chǔ)介質(zhì)的故障,以及關(guān)鍵設(shè)備損壞;
④ 網(wǎng)絡(luò)故障。當(dāng)這些故障出現(xiàn)會(huì)造成了數(shù)據(jù)的破壞甚至丟失。
作為數(shù)據(jù)庫(kù)管理員應(yīng)盡量做到使數(shù)據(jù)庫(kù)失效次數(shù)減少,如果由于各種原因出現(xiàn)了數(shù)據(jù)庫(kù)的失效,應(yīng)該讓數(shù)據(jù)在最短的時(shí)間內(nèi)進(jìn)行恢復(fù),并且盡量保持?jǐn)?shù)據(jù)不丟失。
1.2 ORACLE 9i的運(yùn)行方式選擇
Oracle數(shù)據(jù)庫(kù)有兩種運(yùn)行方式: 歸檔方式(ARCHIVELOG),其目的是當(dāng)數(shù)據(jù)庫(kù)發(fā)生故障時(shí)最大限度恢復(fù)數(shù)據(jù)庫(kù),可以保證不丟失任何已提交的數(shù)據(jù);不歸檔方式(NOARCHIVELOG),只能恢復(fù)數(shù)據(jù)庫(kù)到最近的回收點(diǎn)(冷備份或邏輯備份) [1]。教務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)運(yùn)行方式是選擇歸檔方式,能夠保證數(shù)據(jù)的完整性。
1.3 ORACLE 9i數(shù)據(jù)庫(kù)系統(tǒng)的備份方式選擇
甲骨文公司的ORACLE備份方式有兩類(lèi):邏輯備份和物理備份[2]。在教務(wù)系統(tǒng)中我們使用邏輯備份輔助物理備份的方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)備份的。
對(duì)于物理備份通常有兩種方式:冷備份和熱備份。
冷備份:又稱(chēng)脫機(jī)完全備份,其發(fā)生在數(shù)據(jù)庫(kù)已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時(shí)會(huì)提供一個(gè)完整的數(shù)據(jù)庫(kù)。備份的內(nèi)容主要是數(shù)據(jù)文件、控制文件、聯(lián)機(jī)日志文件等。
熱備份:熱備份是在數(shù)據(jù)庫(kù)運(yùn)行的情況下,采用歸檔模式(Archivelog mode)備份數(shù)據(jù)庫(kù)的方法。
冷備份比較安全、可靠,但是備份的時(shí)候要關(guān)閉數(shù)據(jù)庫(kù)。根據(jù)現(xiàn)實(shí)情況,教務(wù)系統(tǒng)數(shù)據(jù)庫(kù)提供24小時(shí)×7天的數(shù)據(jù)庫(kù)服務(wù),所以我們采用熱備份方式。邏輯備份通常使用的是EXP/IMP(Export/Import 導(dǎo)出/導(dǎo)入)常用命令。EXP/IMP有四種工作模式:表模式、用戶(hù)模式、全庫(kù)模式和表空間模式[3] 。下面是某天DBA就教務(wù)系統(tǒng)進(jìn)行全庫(kù)備份的例子:
$ORACLE_HOME/bin/exp system/manager@zfxfzb full=y file=/oracle/backup/oradata/zf.dmp
log=/oracle/backup/log/zf.log
當(dāng)然邏輯備份只是物理備份的一個(gè)輔助方法。當(dāng)然也可以使用Oracle 應(yīng)用工具:數(shù)據(jù)庫(kù)恢復(fù)管理器Recovery Manager (RMAN)很方便地對(duì)數(shù)據(jù)庫(kù)執(zhí)行備份任務(wù)。
1.4 教務(wù)系統(tǒng)完善的備份策略
通過(guò)研究某校教務(wù)系統(tǒng)的需求,制定如下完善的備份方案:
教務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)運(yùn)行在歸檔方式下采取物理備份(熱備份)為主,邏輯備份為輔助的方式進(jìn)行數(shù)據(jù)備份。為了保證備份和恢復(fù)的快速性。采用RMAN多級(jí)增量備份策略。
① 每學(xué)期進(jìn)行數(shù)據(jù)庫(kù)的全備份(包括所有數(shù)據(jù));
② 每周一0:00用批處理文件做的一條EXP命令進(jìn)行邏輯備份;
③ 用RMAN工具進(jìn)行分級(jí)增量備份,每周月最后一天22:00做一次零級(jí)備份;每周周日22:00做一次一級(jí)備份;每天23:00做1次二級(jí)備份。
1.5 教務(wù)系統(tǒng)的異地備份策略
數(shù)據(jù)庫(kù)服務(wù)器放置在網(wǎng)絡(luò)中心機(jī)房中,如果網(wǎng)絡(luò)中心發(fā)生不可預(yù)測(cè)的災(zāi)難的話(huà),那么數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)將永久丟失。所以必須將以上備份的文件定時(shí)的存儲(chǔ)到另一臺(tái)機(jī)器上。學(xué)院的異地備份策略是:用不在網(wǎng)絡(luò)中心機(jī)房的PC機(jī)做FTP服務(wù)器,每天定時(shí)的把所備份的文件通過(guò)FTP的方式傳送到備用PC上。并定時(shí)把所有的數(shù)據(jù)文件轉(zhuǎn)存到存儲(chǔ)中。
1.6 數(shù)據(jù)丟失的恢復(fù)策略
數(shù)據(jù)庫(kù)恢復(fù)必須根據(jù)具體情況作具體分析,采取相應(yīng)的恢復(fù)方法。教務(wù)系統(tǒng)數(shù)據(jù)庫(kù)在運(yùn)行2-3年的過(guò)程中,很少出現(xiàn)錯(cuò)誤。出現(xiàn)錯(cuò)誤的情況基本都是數(shù)據(jù)量過(guò)大的時(shí)候,比如:學(xué)期末的教師成績(jī)提交,學(xué)期中的學(xué)生測(cè)評(píng)等。這些錯(cuò)誤有的是SQL語(yǔ)句失敗、用戶(hù)進(jìn)程失敗、網(wǎng)絡(luò)失敗等,這些錯(cuò)誤都比較好恢復(fù)本文不過(guò)多冗述。而如果遇到介質(zhì)失敗就需要首先恢復(fù)控制文件、日志文件、歸檔文件最后恢復(fù)數(shù)據(jù)文件。我們需要從上一次備份的文件中恢復(fù)數(shù)據(jù)文件。步驟如下:
① 用命令關(guān)閉數(shù)據(jù)庫(kù);
② 更換介質(zhì)并裝載數(shù)據(jù)文件;
③ 用START MOUNT啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例使用歸檔的重做日志恢復(fù)數(shù)據(jù)庫(kù)。最后可以再次關(guān)閉數(shù)據(jù)庫(kù)進(jìn)行完全備份一次。
不過(guò)數(shù)據(jù)庫(kù)是不是能夠恢復(fù)到理想狀態(tài),完全取決于是否有正確的備份策略與方法。這個(gè)教務(wù)的備份策略比較完善。但是只保證數(shù)據(jù)庫(kù)管理系統(tǒng)的正常運(yùn)行和完善的備份策略還是不夠的,對(duì)于運(yùn)行數(shù)據(jù)庫(kù)管理系統(tǒng)的介質(zhì)的安全也很重要,下文就來(lái)探討硬件管理的安全策略。
2 教務(wù)系統(tǒng)中硬件管理的安全策略
當(dāng)前教務(wù)系統(tǒng)采用的是單服務(wù)器數(shù)據(jù)存儲(chǔ)備份方式,隨著數(shù)據(jù)的不斷增長(zhǎng),以及學(xué)院對(duì)教務(wù)系統(tǒng)的依賴(lài)日益提高,要保證服務(wù)器24小時(shí)不間斷的工作。當(dāng)服務(wù)器宕機(jī)后,當(dāng)前業(yè)務(wù)丟失,數(shù)據(jù)會(huì)出現(xiàn)損壞錯(cuò)誤等情況。所以為了更好的保證服務(wù)器數(shù)據(jù)安全,建議把當(dāng)前的單服務(wù)器存儲(chǔ)備份方式改為雙機(jī)熱備份。
2.1 雙機(jī)熱備份(Hot Standby)
雙機(jī)熱備份,就是一臺(tái)主機(jī)為工作機(jī)(primary server),另一臺(tái)主機(jī)為備份機(jī)(standby server),服務(wù)器節(jié)點(diǎn)以單獨(dú)的心跳線(xiàn)(雙絞線(xiàn))互連并保持間歇的通訊信號(hào),其在極短的周期內(nèi)檢查對(duì)方節(jié)點(diǎn)的服務(wù)和應(yīng)用狀態(tài)[4]。在教務(wù)系統(tǒng)中安裝雙機(jī)軟件,服務(wù)器的形式基于active/standby方式運(yùn)行。在同一時(shí)間內(nèi),一臺(tái)主要的服務(wù)器保持active狀態(tài),兩臺(tái)服務(wù)器不共享存儲(chǔ)設(shè)備,通過(guò)軟件保持兩臺(tái)機(jī)器同步。如果主服務(wù)器出現(xiàn)了故障并無(wú)法啟動(dòng)服務(wù),或者主服務(wù)器的存儲(chǔ)介質(zhì)出現(xiàn)問(wèn)題,那么處于從服務(wù)器通過(guò)心跳檢測(cè)將從服務(wù)器(standby server)激活,保證教務(wù)系統(tǒng)能夠在出故障后短時(shí)間內(nèi)恢復(fù)服務(wù)。
2.2 教務(wù)系統(tǒng)雙機(jī)熱備的系統(tǒng)結(jié)構(gòu)
當(dāng)前教務(wù)系統(tǒng)是單服務(wù)器數(shù)據(jù)存儲(chǔ)備份方式,系統(tǒng)的硬件構(gòu)成是:機(jī)架式IBM System x3850(88632SC)處理器CPU類(lèi)型Xeon MP CPU頻率(MHz) 3660;CPU個(gè)數(shù) 4;板主板芯片組Intel E8500 FSB(總線(xiàn))677MHz;內(nèi)存大小4GB;硬盤(pán)類(lèi)型SAS ;硬盤(pán)容量 440.4GB磁盤(pán)陣列卡 RAID5。系統(tǒng)軟件構(gòu)成:操作系統(tǒng)用Windows Server 2003(service pack 2);數(shù)據(jù)庫(kù)用Oracle 9i。但是為了保證數(shù)據(jù)安全建議采用的雙機(jī)熱備系統(tǒng)。具體雙機(jī)備份的系統(tǒng)拓?fù)鋱D見(jiàn)圖1,建議購(gòu)買(mǎi)一臺(tái)同型號(hào)的數(shù)據(jù)庫(kù)服務(wù)器機(jī)架式IBM System x3850(88632SC),采用的雙機(jī)容錯(cuò)軟件是Veritas Cluster Server (VCS)。圖1就是教務(wù)管理系統(tǒng)在網(wǎng)絡(luò)中心服務(wù)器的拓?fù)鋱D。通過(guò)兩根心跳線(xiàn)把兩臺(tái)IBM服務(wù)器連接起來(lái)用,做雙機(jī)熱備服務(wù)器。
VCS需要內(nèi)部心跳線(xiàn)來(lái)通信,監(jiān)控兩臺(tái)服務(wù)器中的狀態(tài),為了保證教務(wù)系統(tǒng)的高可靠性,選擇兩條心跳線(xiàn),以免某條網(wǎng)線(xiàn)發(fā)生故障影響系統(tǒng)的使用。當(dāng)主服務(wù)器(primary server)出現(xiàn)故障也就是當(dāng)任意一條心跳線(xiàn)監(jiān)測(cè)不到主機(jī)時(shí),從服務(wù)器(standby server)取得IP,接管主服務(wù)器任務(wù)并發(fā)出警報(bào)。這種雙機(jī)熱備系統(tǒng)不僅易于管理而且性能高,可靠性高。同時(shí)當(dāng)發(fā)生故障時(shí)備用服務(wù)器能及時(shí)的接管主服務(wù)器的工作。
3 結(jié)束語(yǔ)
該文只是就數(shù)據(jù)的安全進(jìn)行探討,對(duì)于一個(gè)完善的系統(tǒng)還應(yīng)該加強(qiáng)服務(wù)器的維護(hù),病毒的防護(hù)工作等等。學(xué)院的教務(wù)信息系統(tǒng)的備份恢復(fù)和雙機(jī)熱備份方案是根據(jù)實(shí)際的需求與系統(tǒng)的特性來(lái)綜合確定的。如果出現(xiàn)故障可以通過(guò)上文所述的方法來(lái)進(jìn)行故障的排除和系統(tǒng)的恢復(fù),并能夠保證系統(tǒng)中的數(shù)據(jù)不丟失。保證了教務(wù)系統(tǒng)信息系統(tǒng)能夠更好的為廣大師生服務(wù)。
參考文獻(xiàn):
[1] 王秀燕.ORACLE數(shù)據(jù)庫(kù)備份策略分析[J].硅谷,2008,(12):34.
[2] 龔濤.Oracle 10g 數(shù)據(jù)庫(kù)管理[M].北京: 中國(guó)水利水電出版社,2005.
[3] 蕭文龍,陳怡如.ORACLE 10g數(shù)據(jù)庫(kù)最佳入門(mén) [M].2版.北京:機(jī)械工業(yè)出版社,2007.
[4] 王萍.共享磁盤(pán)陣列雙機(jī)熱備份的實(shí)現(xiàn)[J].安慶師范學(xué)院學(xué)報(bào):自然科學(xué)版,2007,13(3).
[5] 李曉黎,劉宗堯.Oracle 10g 數(shù)據(jù)庫(kù)管理與應(yīng)用系統(tǒng)開(kāi)發(fā)[M].北京:人民郵電出版社, 2007.
[6] 蓋國(guó)強(qiáng).循序漸進(jìn)Oracle:數(shù)據(jù)庫(kù)管理、優(yōu)化與備份恢復(fù)[M].北京:人民郵電出版社,2007.
[7] 陳卓.我國(guó)中小企業(yè)需要關(guān)注網(wǎng)絡(luò)數(shù)據(jù)安全[J].機(jī)械管理開(kāi)發(fā),2008,23(1):100-101.
[8] 曠海蘭,劉新華. 高性能計(jì)算與集群系統(tǒng)[J].衡陽(yáng)師范學(xué)院學(xué)報(bào),2005,26(6):57-60.