【賽迪網-IT技術報道】本文深入講解了基於DB2數據庫的各種備份與恢復策略,通過文中具體示例,讀者可以很快的掌握DB2數據庫的備份與恢復技術。
(注:以下數據庫備份與恢復的試驗環境均為 Windows XP + IBM DB2 V9 企業版,同樣的語句也在 AIX 5.2 + IBM DB2 V8.2 環境下驗證通過)。
一、數據庫備份的重要性
在資訊日趨發達的時代,數據顯得尤其重要。如何保障數據的完整性和安全性呢?如何避免數據災難事故的發生呢?數據庫備份作為數據安全和完整最有利保障手段的重要性就不言而喻了。
數據庫備份的重要性主要體現在:
1、提高系統的高可用性和災難可恢復性;(在數據庫系統崩潰的時候,沒有數據庫備份怎麼辦!)
2、使用數據庫備份還原數據庫是數據庫系統崩潰時提供數據恢復最小代價的最優方案;(總不能讓客戶重新填報數據吧!)
3、沒有數據就沒有一切,數據庫備份就是一種防範災難於未然的強力手段;
4、對於DBA來說,最首要也是最重要的任務就是數據庫備份。
二、 DB2 數據庫備份的方式與分類
1、按照數據庫備份對數據庫的使用影響來劃分
A、連線備份(也稱熱備份或線上備份)
B、脫機備份(也稱冷備份或離線備份)
說明:連線備份和脫機備份最大的不同在於:連線備份數據庫時,數據庫仍然可以供用戶使用,而脫機備份數據庫則不行。脫機備份數據庫時,必須斷開所有與數據庫有連接的應用後才能進行。
2、按照數據庫的數據備份範圍來劃分
A、完全備份
B、增量備份
說明:完全備份數據庫是指備份數據庫中的所有數據,而增量備份只是備份數據庫中的部分數據。至於增量備份到底備份哪些數據,稍候會提到。
3、增量備份的兩種實現方式
A、增量備份(也稱累計備份)
B、delta備份
說明:這兩種備份方式的嚴格定義如下,
增量備份是自最近成功的完全備份以來所有更改的數據的備份。
delta 備份則是上一次成功的完全、增量或 delta 備份以後所做更改的數據的備份。
這裡請讀者們仔細的看上面兩個增量備份方式的定義,注意這兩種備份方式的細微差別。這裡我們舉一個例子來說明。
假設有一個數據庫,它每天都有部分數據在發生變化。我們星期一晚上對該數據庫做了一次完全備份,星期二晚上對該數據庫做了一次增量備份A(注:這裡的增量備份是指累計備份,下同),星期三晚上又做了一次增量備份B,星期四則做了一次delta 備份。
那麼,我們可以得出以下結論:
星期一的數據庫備份包含了所有的數據。
星期二沒有變動過的數據沒有發生備份,在星期二變動過的數據會備份,並且備份到增量備份A中。
星期三的備份中含有自星期一完全備份以來發生過變動的所有數據,包含了星期二和星期三發生過變動的數據。顯然,增量備份A 被 增量備份 B 包含。
星期四做的是delta備份,注意,它會也只會備份自星期三備份之後變動過的數據。
三、 DB2 備份文件的結構介紹
在不同的作業系統下,DB2 的備份文件的結構是不同的,這裡概要地介紹一下。
1、Windows 作業系統下的數據庫備份文件結構:
說明:Windows 作業系統下的數據庫備份文件是嵌套在一系列文件夾之下的特殊結構。上例中,D:\DB2_Train 是指備份目錄,TESTDB.0 是指數據庫名稱為 TESTDB,DB2 是指實例名稱,NODE0000 是指節點名稱,CATN0000 是指編目名稱,20070801 是指備份發生的年月日,形如YYYYMMDD,181241是指備份發生的時間,精確到秒,也就是指 18 點 12 分 41 秒,形如HHMMSS,最後的 001 則是備份文件的一個序列號。
2、 Unix 作業系統下的數據庫備份文件結構:
說明:Unix 作業系統下的數據庫備份文件就是一個文件。上例中,HTDC 是指數據庫名稱,db2inst1 是指實例名稱,NODE0000 是指節點名稱,CATN0000 是指編目名稱,20070310002357 是指備份發生的具體時間,形如YYYYMMDDHHMMSS,同樣地,它的時間精確到秒,也就是指 2007年3月10日0點23分57秒發生備份,最後的 001 則是備份文件的一個序列號。
1
2
3
下一頁>>