隨著銀行業(yè)的不斷發(fā)展壯大,計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫的應(yīng)用越來越廣泛,其中數(shù)據(jù)庫,特別是大型數(shù)據(jù)庫的安全問題,已得到廣大廣大數(shù)據(jù)庫管理員的重視。為了防止數(shù)據(jù)的意外丟失或損壞,必須對(duì)數(shù)據(jù)采取有效的備份手段。
所謂數(shù)據(jù)備份,就是保留一套備用系統(tǒng),當(dāng)運(yùn)行系統(tǒng)出現(xiàn)故障時(shí),能夠以最小的時(shí)間恢復(fù)原來的數(shù)據(jù)。數(shù)據(jù)庫的備份,可以是整個(gè)數(shù)據(jù)庫的拷貝,也可以是其中一部分?jǐn)?shù)據(jù)的拷貝(一個(gè)或多個(gè)表空間)。數(shù)據(jù)備份一般有兩個(gè)層次:
-
硬件級(jí)備份:用冗余的硬件來保證系統(tǒng)的連續(xù)運(yùn)行,比如雙機(jī)容錯(cuò)、硬盤鏡像等方式。如果主硬件損壞,后備硬件能夠立刻接替其工作。
-
軟件級(jí)備份:將系統(tǒng)數(shù)據(jù)保存到其他可以移動(dòng)的介質(zhì)上,如磁帶、軟盤、光盤等。當(dāng)系統(tǒng)出現(xiàn)故障后,可以將系統(tǒng)恢復(fù)到備份時(shí)的狀態(tài)。本文主要討論的是數(shù)據(jù)庫的軟件級(jí)備份。
IBM的DB2數(shù)據(jù)庫早已在世界范圍贏得非常好的信譽(yù),是受到廣大用戶青睞的數(shù)據(jù)庫系統(tǒng)之一。本文討論的是 DB2 5.5 for AIX 數(shù)據(jù)庫系統(tǒng)的備份與恢復(fù)。
一、DB2數(shù)據(jù)庫的備份
DB2數(shù)據(jù)庫可以備份整個(gè)數(shù)據(jù)庫,也可以備份其中的一個(gè)或多個(gè)表空間;可以在應(yīng)用連接到數(shù)據(jù)庫時(shí)和事務(wù)正在處理時(shí)進(jìn)行備份(這稱為聯(lián)機(jī)備份),也可以在沒有任何應(yīng)用連接到數(shù)據(jù)庫時(shí)進(jìn)行備份(這稱為脫機(jī)備份)。(見表一)
DB2數(shù)據(jù)庫使用命令BACKUP來備份。BACKUP命令需要SYSADM,SYSCTRL或SYSMAINT的權(quán)限,其命令語法為:
BACKUP DATABASE 數(shù)據(jù)庫別名 TO 介質(zhì)名
或者
BACKUP DATABASE 數(shù)據(jù)庫別名 TABLESPACE 表空間名 [ONLINE} TO 介質(zhì)名
其中介質(zhì)名一般指定為介質(zhì)的絕對(duì)路徑,在 AIX 中不回轉(zhuǎn)的磁帶機(jī)設(shè)備名為 /dev/rmt0,回轉(zhuǎn)的磁帶機(jī)設(shè)備名為 /dev/rmt0.n 。也可將數(shù)據(jù)備份在硬盤上,介質(zhì)名即為其絕對(duì)路徑。BACKUP命令在指定的介質(zhì)上生成一個(gè)或多個(gè)備份文件,以下顯示了在 AIX 4.3 for RS/6000 上生成的文件名結(jié)構(gòu):
以下是 BACKUP 命令的一些例子:
(1)此例子是在指定的服務(wù)器目錄 /backup/mydb 下給 mydb 數(shù)據(jù)庫創(chuàng)建一個(gè)完整的備份:
BACKUP DATABASE mydb TO /backup/mydb
(2)此例子是給 mydb 數(shù)據(jù)庫中指定的表空間 myspace1 進(jìn)行聯(lián)機(jī)備份,在進(jìn)行備份時(shí),應(yīng)用可繼續(xù)更新數(shù)據(jù)庫:
BACKUP DATABASE mydb TABLESPACE myspace1 ONLINE TO /backup/mydb
表一 數(shù)據(jù)庫能否進(jìn)行向前恢復(fù)帶來的影響
如果不允許進(jìn)行向前恢復(fù) |
如果允許進(jìn)行向前恢復(fù) |
在發(fā)生失敗后,可以把數(shù)據(jù)庫恢復(fù)到失敗前與最后一次事務(wù)一致的狀態(tài)。
|
同樣,也支持恢復(fù)到與最后一次事務(wù)一致的狀態(tài)。
|
可以把數(shù)據(jù)庫恢復(fù)到任何有效的備份狀態(tài),但是不能重新執(zhí)行發(fā)生在備份之后的事務(wù)。
|
可以把數(shù)據(jù)庫恢復(fù)到任何有效的備份狀態(tài),并且可以重新執(zhí)行從發(fā)生失敗到當(dāng)前為止提交的事務(wù)。
|
只能在沒有任何應(yīng)用連接到數(shù)據(jù)庫時(shí)進(jìn)行備份(這稱為脫機(jī)備份)。
|
可以在應(yīng)用連接到數(shù)據(jù)庫時(shí)和事務(wù)正在處理時(shí)進(jìn)行備份(這稱為聯(lián)機(jī)備份)。同樣支持脫機(jī)備份。
|
每一個(gè)備份都必須包含整個(gè)數(shù)據(jù)庫的當(dāng)前狀態(tài)。
|
一個(gè)備份可能包含整個(gè)數(shù)據(jù)庫的當(dāng)前狀態(tài),或者是一個(gè)或多個(gè)表空間。數(shù)據(jù)庫的表空間可以單獨(dú)地備份和恢復(fù)。
|