于順森
【摘 要】所謂的Linux為一種自由與開放的unix電腦操作系統(tǒng),它存在著很多不一樣的Linux類版本,不過其均采用了Linux內(nèi)核。要提到的是,Linux可以安裝于各種類型的計算機硬件設(shè)備中,例如平板電腦、視頻游戲控制臺、大型與超級計算機一級手機。路由器、臺式電腦等。Linux為一個前衛(wèi)的操作系統(tǒng),現(xiàn)階段世界上運算速度最快的超級計算機其使用的均為Linux的操作系統(tǒng)。原則上講,Linux其本身只是表示Linux內(nèi)核,不過實際上人們早已習慣使用Linux來表述整個的基于Linux的內(nèi)核,同時采用GNU工程中的各種工具以及Database的操作系統(tǒng)。由于Linux操作系統(tǒng)使用較為廣泛,接下來,本文通過詳細的Database故障實例進行分析,且就Linux操作系統(tǒng)中DB2 Database的備份和恢復進行研究探討,希望對有關(guān)工作者能有所幫助。
【關(guān)鍵詞】Linux操作系統(tǒng);DB2數(shù)據(jù)庫;備份恢復
【中圖分類號】TP309.3 【文獻標識碼】A 【文章編號】1672-5158(2013)03-0166-02
Linux一般被用于服務(wù)器的操作系統(tǒng),主要是由于它的UNIX背景、廉價以及靈活性。通常,以Linux系統(tǒng)為基礎(chǔ)的LAMP技術(shù),不但已經(jīng)在開發(fā)者人群中廣泛使用,同時提供了網(wǎng)絡(luò)服務(wù)供應(yīng)商經(jīng)常使用的平臺,由于Linux成本較低以及高度的可設(shè)置性,這使得Linux經(jīng)常被使用在嵌入式系統(tǒng)中比如移動裝置、機頂盒以及移動電話等?;贚inux使用功能較為強大以及應(yīng)用范圍較廣等特性,本文將分析研究Linu操作系統(tǒng)下DB2 Database(即DB2數(shù)據(jù)庫)的備份與恢復,以此為廣大使用者提供方便。
1.DB2數(shù)據(jù)庫
該數(shù)據(jù)將為IBM集團研發(fā)的一種關(guān)系型的數(shù)據(jù)庫操作系統(tǒng)。DB2數(shù)據(jù)庫系統(tǒng)主要使用于大型的應(yīng)用系統(tǒng)中,該數(shù)據(jù)庫具備較好的可伸縮性,能夠支持從大型機至單用戶環(huán)境,使用在Windows等平臺下。它提供了層次較高的數(shù)據(jù)、完整性、可恢復性以及利用性、安全性,和小規(guī)模至大規(guī)模應(yīng)用程序中的執(zhí)行能力,有著和平臺無關(guān)連的SQL命令以及基本功能[1]。DB2使用了數(shù)據(jù)的分級技術(shù),可以使得大型機數(shù)據(jù)很快捷的下載至LAN 數(shù)據(jù)庫系統(tǒng)服務(wù)器,致使服務(wù)器用戶與基于LAN基礎(chǔ)上的應(yīng)用程序能夠訪問大型機數(shù)據(jù),且使數(shù)據(jù)庫系統(tǒng)遠程連接與本地連接的透明化。它最大的優(yōu)點是有著一個非常完美的查詢優(yōu)化器,它的外部連接有效的改善了查詢的性能,且支持多任務(wù)同時查詢。同時,DB2有著非常好的網(wǎng)絡(luò)支持功能,各個子系統(tǒng)能夠連接成千上萬個分布式用戶,能同時激活一千多個活動線程,特別適合大型的分布式應(yīng)用系統(tǒng)。
DB2 數(shù)據(jù)庫系統(tǒng)不但能夠提供主流的VM操作系統(tǒng),和AS/400系統(tǒng)(為中等規(guī)模),同時International Business Machines Corporation(即IBM公司)還提供了跨越平臺(主要包含基于UNIX中的Linux,SunSolaris,和hpux、SCOUnixWare;另外,用于個人電腦中的OS/2的操作系統(tǒng),和微軟公司的Windows XP與其早期研發(fā)的系統(tǒng))中的DB2產(chǎn)品[2]。我們知道,DB2 數(shù)據(jù)庫系統(tǒng)能夠借助使用微軟公司的開放數(shù)據(jù)庫系統(tǒng)連接(即Open Database Connectivity)接口,同時Java 數(shù)據(jù)庫系統(tǒng)連接(Java Data Base Connectivity)接口,或是Common Object Request Broker Architecture接口代理被所有的應(yīng)用程序訪問。
本世紀初,IBM公司(即International Business Machines Corporation)全球同步發(fā)行了一款有著劃時代意義的數(shù)據(jù)庫系統(tǒng)產(chǎn)品——即DB2(“DB2”為IBM 數(shù)據(jù)庫系統(tǒng)產(chǎn)品系列的名稱)。此數(shù)據(jù)庫系統(tǒng)最大特點就是率先實現(xiàn)了能擴展標記語言以及關(guān)系數(shù)據(jù)之間的無縫交互,而并不需要考慮數(shù)據(jù)的位置、格式以及平臺。
2.DB2 Database(即數(shù)據(jù)庫)的備份
首先,在一臺型號是IBM XSETIES 225的服務(wù)器上,將Red Flag的操作系統(tǒng)、以及DB2 數(shù)據(jù)庫系統(tǒng)和Fix pack相關(guān)軟件安裝好,借助參數(shù)配置以滿足某應(yīng)用系統(tǒng)的運用,其系統(tǒng)運行正常。
有關(guān)DB2 數(shù)據(jù)庫系統(tǒng)備份的分類:第一類,按照備份對數(shù)據(jù)庫系統(tǒng)的使用影響可以分為脫機備份(同時也叫冷備份或者離線備份)以及聯(lián)機備份(可稱為熱備份或者在線備份):在線備份時其數(shù)據(jù)庫系統(tǒng)仍然能夠供用戶使用,離線備份時,一定要斷開所有和數(shù)據(jù)庫系統(tǒng)連接的應(yīng)用[3]。第二類,按照數(shù)據(jù)的備份范圍可以分為增量備份以及完全備份,增量備份為備份數(shù)據(jù)庫系統(tǒng)中的部分數(shù)據(jù),而完全備份則是將數(shù)據(jù)庫系統(tǒng)中的全部數(shù)據(jù)進行備份。
依照此應(yīng)用系統(tǒng)的數(shù)據(jù)庫系統(tǒng)情況以及業(yè)務(wù)的需求,其數(shù)據(jù)備份每周實施一次離線完全備份,詳細的實施方法是:編寫腳本文件,其名字是3dbbackup,每周固定的時間對數(shù)據(jù)進行備份,其備份的內(nèi)容是三個主要數(shù)據(jù)庫系統(tǒng):db03、db10以及db02。當然,為了保障數(shù)據(jù)的安全,其系統(tǒng)管理員需在備份之后的第二天早上將備份內(nèi)容復制于移動硬盤中,并將半年的備份數(shù)據(jù)保留,同時為了空間的限制,每個星期只保留一份最新的備份文件。
3.故障的發(fā)生和分析
當系統(tǒng)的管理人員對系統(tǒng)進行日常檢查時,如果發(fā)現(xiàn)使用普通的用戶名登錄其系統(tǒng)界面之后,所得到的系統(tǒng)提示為無法訪問數(shù)據(jù)庫系統(tǒng)。
在這種情況下,首先需要檢查其服務(wù)器上的數(shù)據(jù)庫系統(tǒng)文件,此時會發(fā)現(xiàn)腳本文件用戶下的所有文件都消失了。于備份任務(wù)所指定的文件夾中,無3db文件夾,同時也沒有任何數(shù)據(jù)庫文件文件,就好像數(shù)據(jù)庫文件在一夜之間就消失的無影無蹤。
然后,登錄WAS(全稱為Websphere Application Server)管理控制臺,之后在“資源”下的數(shù)據(jù)源中,而對于日常的三個數(shù)據(jù)源即db10、db03以及db02,測試時提示為“測試節(jié)點其localhost中的服務(wù)器(即serverl)中的數(shù)據(jù)源(指db01)失敗,包含有下面的異常:SQLCONNECT、java.spl.solexception以及java.lang.unsatisfiedlinkerror。之后查看JVM日志,以此獲得進一步的具體信息” [4]。此種情況初步判斷為因為數(shù)據(jù)庫系統(tǒng)文件丟失引發(fā)的系統(tǒng)故障。
下面分析研究故障原因,因為故障出現(xiàn)的時間是在數(shù)據(jù)備份之后的第一天,不過數(shù)據(jù)備份的當系統(tǒng)的運行都正常,另外備份的文件也不見了,這顯示備份沒能成功執(zhí)行。將備份腳本(即3dbbackup)打開,逐行分析研究命令,顯示:假若3dbbackup文件夾本身不存在的話,而$cd$i以及$cdbf此兩條命令沒能執(zhí)行成功,致使$rmrf$i的命令執(zhí)行之后,其刪除的為db2admin中的和數(shù)據(jù)庫系統(tǒng)文件同名的一些文件。此問題為之前編寫腳本的時候出現(xiàn)的疏忽,沒能充分考慮到假若3dbbackup不存在的情況下,在執(zhí)行備份時會將db2admin中的某些數(shù)據(jù)刪除掉。
4.數(shù)據(jù)庫(即Database)的恢復
如果數(shù)據(jù)庫系統(tǒng)文件被完全破壞,那么事實全面整體恢復為最佳的解決方法。Database恢復步驟如下:
(1)修改Database配置
首先Database所在表面空間為mdmspae,所以新建其mdmspae的文件夾,同時修改權(quán)限是888。也就是**chok888#mdmspae[5]。其次,修改Database配置,并支持聯(lián)合視圖。
(2)Database db03、db01以及db02的恢復
首先*su-db3admin,其次$db3disconnrct all。最后切換至備份文件所處于的目錄在,$db3 recyoro db db03。接下即可恢復Database db03。
(3)當Database回復完之后,需重新啟動服務(wù)器
當服務(wù)器啟動之后,根據(jù)開機操作,將WEBSPHERE以及db03啟動,即系統(tǒng)正常運行。