備份Informix-Online數(shù)據(jù)庫三法
Informix-Online數(shù)據(jù)庫因其具有高性能、高可靠性、支持數(shù)據(jù)完整性定義/檢查等特性而得到廣泛應用。對于使用中的數(shù)據(jù)庫,數(shù)據(jù)備份的安全可靠性便成為人們關注的焦點。根據(jù)多年的學習和經(jīng)驗,筆者對Informix-Online數(shù)據(jù)庫常用的三種數(shù)據(jù)備份方式加以歸納和比較。本文所講備份大多是備份到磁帶上的熱備份方法。
一.使用ontape工具進行數(shù)據(jù)備份
1.ontape工具的功能
ontape工具具有如下功能:備份和恢復Online數(shù)據(jù)、備份和恢復邏輯日志、改變數(shù)據(jù)庫日志狀態(tài)等(本文著重介紹數(shù)據(jù)備份功能)。
2.執(zhí)行ontape備份數(shù)據(jù)的語法
ontape備份語法為:
ontape-s-L備份級別(0、1、2)
在online處于聯(lián)機或靜止方式時,Informix用戶或具有DBA權限的用戶可以通過執(zhí)行上面的命令進行備份。根據(jù)備份方案安排進行0級、1級、2級備份。0級備份是對整個數(shù)據(jù)庫的所有數(shù)據(jù)進行完整備份;1級備份是只對0級備份以后修改過的數(shù)據(jù)進行備份;2級備份只是對1級備份以后修改過的數(shù)據(jù)進行備份。
3.使用ontape工具進行數(shù)據(jù)備份需要注意的問題
1)在執(zhí)行ontape備份前要對Onconfig文件中的TAPEDEV、TAPEBLK、TAPESIZE參數(shù)進行正確的設置。
2)為了縮短數(shù)據(jù)恢復時間,應以進行0級為主,盡量減少1級和2級備份。對銀行等重要部門數(shù)據(jù),應每天進行0級備份。
3)如果需要將ontape備份的數(shù)據(jù)恢復到另一臺服務器上時,要求兩臺服務器機型、操作系統(tǒng)、Onconfig配置文件及非臨時分配的Dbspace磁盤空間數(shù)量和大小必須一致,否則數(shù)據(jù)不能正?;謴汀?/p>
4)必須保證有足夠可用的邏輯日志文件。如果剩余的邏輯日志空間小于單個邏輯日志的50%,Informix-online將拒絕執(zhí)行備份操作。必須先備份已使用過的邏輯日志,然后才能進行數(shù)據(jù)備份。
5)保留Onconfig文件副本。在進行0級備份后,應備份Onconfig文件,因為在恢復0級備份時需要讀Onconfig文件信息,如果online配置被修改,數(shù)據(jù)恢復將失敗,如果恢復此0級備份,必須恢復當時的配置。
6)備份可以在online聯(lián)機或靜止方式下進行,在備份過程中不能改變online運行方式,否則備份會被中斷。
7)不要使用后臺方式執(zhí)行備份命令(UNIX下的&&),因為備份采用交互方式進行。
二.使用dbexport命令進行數(shù)據(jù)備份
1.dbexport命令簡介
dbexport命令以ASCII碼格式將數(shù)據(jù)寫到文件或備份介質上(如磁帶)。dbexport卸出的文件包括數(shù)據(jù)庫模式文件和數(shù)據(jù)文件。
2.dbexport命令語法如下
dbexport[-X][-c][-q][-d][-ss][{-o-t-b-s[-f]}]
以上命令中參數(shù)的意義如下:
<>中包括的內容為必選項,[]中的內容為可選項。
-c:指示如果沒有錯誤,則輸出全部信息。
-q:在標準輸出設備上不顯示錯誤信息、警告和所生成的SQL數(shù)據(jù)定義語句。
-d:僅輸出blob描述符,不輸出blob數(shù)據(jù)。
-ss:在模式文件中輸出特定于服務器的用于創(chuàng)建數(shù)據(jù)庫和表的信息,比如:初始的extent和附加的extent的大小、上鎖方式、表所駐留的dbspace等信息。
-o:指定數(shù)據(jù)輸出文件的磁盤目錄。
-t:指定數(shù)據(jù)輸出文件的備份介質名稱。
-b:指定備份介質塊大小。
-s:指定備份介質的***存儲量。
-f:用于指定存儲在備份介質上的模式文件名。
database:指定備份的數(shù)據(jù)庫名稱。
使用dbexport功能及需注意的問題
1)執(zhí)行dbexport命令必須是Informix用戶或具有DBA訪問權限的用戶;
2)用dbexport備份的數(shù)據(jù)必須用dbimport命令恢復;
3)用戶可以通過編輯模式文件來改變dbimport生成的數(shù)據(jù)庫,如改變數(shù)據(jù)庫名稱或相關的表信息;
4)dbexport以獨占方式(exclusivemode)占用數(shù)據(jù)庫,備份期間其他用戶不能對數(shù)據(jù)庫進行查詢和修改及插入操作;
5)模式文件不保留數(shù)據(jù)庫的日志文件,用戶使用dbimport命令建立數(shù)據(jù)庫時必須為新建數(shù)據(jù)庫選擇一種日志方式(ANSI、buffered、nobuffered類型);
6)用戶可以使用dbexport/dbimport命令,將Informix-online和Informix-SE下的數(shù)據(jù)進行相互轉換;也可以將數(shù)據(jù)在Informix-online的不同版本之間轉換,這種轉換對數(shù)據(jù)庫服務器的結構和online的配置沒有特別要求;
7)使用dbexport/dbimport命令備份/恢復數(shù)據(jù),可以起到消除數(shù)據(jù)分配空間碎塊的作用,提高數(shù)據(jù)庫整體運行效率。
三.使用Onunload命令進行數(shù)據(jù)備份
1.Onunload命令簡介
Onunload命令以頁為單位,使用二進制形式卸出數(shù)據(jù),備份效率比dbexport高。
2.Onunload命令的語法
Onunload[-l][-t][-b][-s][:[owner>.>
以上參數(shù)代表的意義如下:
<>中包括的內容為必選項,[]中的內容為可選項
-l:指示onunload分別從配置參數(shù)TAPEDEV、TAPEBLK和TAPESIZE中讀入磁帶設備、塊大小和備份設備容量值
-t:指定備份設備名
-b:指定備份設備的塊大小
-s:指定備份設備的存儲容量
database:指定要備份的數(shù)據(jù)庫
owner:指定表的屬主
table:指定要卸出的表
使用onunload需要注意的問題
1)onunload備份的數(shù)據(jù)必須用onload命令進行恢復;
2)onunload/onload不能實現(xiàn)不同版本的online之間的數(shù)據(jù)轉移;
3)onunload/onload是以磁盤頁大小為單位存儲的二進制數(shù)據(jù),卸出和接受數(shù)據(jù)的計算機必須具有相同的磁盤頁大小;
4)只能將onunload卸出的數(shù)據(jù)裝入online管理的數(shù)據(jù)庫或表;
5)用戶必須具有DBA訪問權限,才能執(zhí)行onunload命令;
6)onunload不保留初始表上定義的訪問特權;
7)onunload不保留初始表上定義的同義詞。
以上三種數(shù)據(jù)備份方式各有特點,ontape備份對online參數(shù)配置前后一致性要求較高,但數(shù)據(jù)備份和恢復操作簡單,備份和恢復速度較快;onunload備份以頁為單位以二進制形式進行備份效率較高,數(shù)據(jù)恢復時只要計算機磁盤頁大小一致即可;用dbexport所做的備份可以實現(xiàn)不同版本、不同Informix產品之間的數(shù)據(jù)轉換,數(shù)據(jù)轉移靈活方便。
為保證數(shù)據(jù)能夠安全恢復,數(shù)據(jù)備份至少應該選擇兩種方式。通過對Informix-Online數(shù)據(jù)庫三種常用備份方法分析比較與歸納,用戶可以根據(jù)實際情況選擇適合自己需要的備份方式,來保證數(shù)據(jù)的安全恢復與轉移