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