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