DB2 V9聯機備份還原(六)

rheet1978發表於2008-07-01
在增量模式下聯機備份示例資料庫DB2TEST1(聯機備份、增量備份、差異備份) DB2 V9引入了自動備份功能。由於大量發生硬體或軟體故障,資料庫可能會變得不可用。自動資料庫備份功能減輕了 DBA 的資料庫備份管理任務,它始終會確保在需要時對資料庫執行最新的完全備份,需要注意的是,自動備份是完全備份,不是增量備份或差異備份。自動備份的前提是自動資料庫備份(AUTO_DB_BACKUP)資料庫配置引數和自動維護功能(AUTO_MAINT)資料庫配置引數被開啟。如果對資料庫啟用了前滾恢復(歸檔日誌記錄),則可以對聯機備份或離線備份啟用自動資料庫備份功能。否則,只能進行離線備份。本文對此不做重點介紹,大家如果想深入的瞭解,可以看IBM的官方文件。

聯機全量備份就是對當前資料庫做一次完全的備份,備份期間,其他應用程式可以訪問資料庫,如果想使用聯機備份映像檔案進行恢復,需要使用聯機備份期間相關的日誌檔案,現在可以在聯機備份的時候指定INCLUDE LOGS指定備份映像檔案中包含相關的日誌檔案。通過全量備份,可以把資料庫完全恢復到備份時的狀況。聯機備份和離線備份不同,離線備份時,備份實用程式獨佔連線,其他應用程式不能訪問資料庫,聯機備份時則不然。但利用離線備份進行還原,對日誌檔案的需求不是必須的,而利用聯機備份映像進行恢復時,對相關的日誌檔案是一定需要的。

聯機增量備份是對當前資料庫自從上次成功完全備份後的更新情況全部備份下來,同樣,份期間,其他應用程式可以訪問資料庫。通常,可以使用聯機全量備份和聯機增量備份相結合的方式,更好的指定備份策略,很多客戶在實際的操作過程中,比較少的用到差異備份。一般來說,如果儲存空間允許的話,使用聯機全量備份加聯機增量備份,在手工還原資料庫的時候,執行的步驟比較少,只需要還原3次就可以了(用到一個聯機全量備份映像和一個聯機增量備份映像,還原的次數是備份映像檔案的個數加1)。

聯機差異備份是對當前資料庫自從上次成功備份(不管是全量備份、增量備份還是差異備份)後更新的情況全部備份下來,同樣,份期間,其他應用程式可以訪問資料庫。通常,結合使用差異備份,對儲存空間的需求會更小,對備份的頻率可以更快,但對資料庫的還原操作相應複雜了一些,當然,如果還原時使用自動還原(指定了AUTOMATIC引數的RESTORE),操作也十分簡單。

如上面所述,聯機增量備份和聯機差異備份的區別在於,對連續不斷更改的物件進行持續備份時,它們的行為不同。每個連續增量映像都包含了前一個增量映像的完整內容以及自上一次生產完全備份後更改過的或新增的任何資料。差異備份映像只包含自上次生成任何型別的映像後更改過的頁。

 

接下來我們將分別對示例資料庫 DB2TEST1分別進行聯機備份、增量備份和差異備份。首先,我們在DB2CLP視窗對TEST1表新插入兩條記錄,具體如清單18所示:

 

- - 清單18 .插入測試表兩條新的記錄

 

C:\> DB2 INSERT INTO TEST1 VALUES ( 4 , ' Danaus ' , ' the forth rows ' )

DB20000I  SQL命令成功完成。

 

C:\> DB2 INSERT INTO TEST1 VALUES ( 5 , ' Martin ' , ' the fifth rows ' )

DB20000I  SQL命令成功完成。

 

 

命令執行成功,接下來我們在DB2CLP視窗中,發出BACKUP DB ONLINE命令,聯機全量備份示例資料庫DB2TEST1,具體如清單19所示:

 

- - 清單19 .聯機備份示例資料庫DB2TEST1

 

C:\> db2 backup db db2test1 online include logs

 

備份成功。此備份映像的時間戳記是:20070929094546

 

 

聯機全備成功後,備份映像的時間戳為20070929094546。後面我們做恢復資料庫操作的時候將會用到這個備份映像。

 

接下來我們再在DB2CLP視窗連上示例資料庫DB2TEST1,在TEST1表新插入兩條記錄,主要是對示例表通過插入資料的方式,使表產生一些變化。在做增量備份的時候,好捕獲這些變化。插入記錄的情況具體如清單20所示:

 

- - 清單20 .插入測試表兩條新的記錄

 

C:\> db2 connect to db2test1

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2 / NT 9.1.0

 SQL 授權標識         = RHETTE

 本地資料庫別名       = DB2TEST1

 

 

C:\> DB2 INSERT INTO TEST1 VALUES ( 6 , ' Scott ' , ' the sixth rows ' )

DB20000I  SQL命令成功完成。

 

C:\> DB2 INSERT INTO TEST1 VALUES ( 7 , ' slave ' , ' the seventh rows ' )

DB20000I  SQL命令成功完成。

 

 

命令執行成功。現在我們來增量備份示例資料庫DB2TEST1,把資料庫最新的修改記錄備份下來,在DB2CLP視窗中,發出帶INCREMENTAL選項的BACKUP DB命令,具體如清單21所示:

 

- - 清單21 .增量備份示例資料庫DB2TEST1

 

C:\> DB2 BACKUP DB DB2TEST1 ONLINE INCREMENTAL INCLUDE LOGS

 

備份成功。此備份映像的時間戳記是:20070929094818

 

 

增量備份成功完成,備份映像的時間戳是20070929094818。

增量備份映像是自從上次最新的、成功的完全備份操作以來,更改過的所有資料庫資料的副本。也稱為累積備份映像,因為進行的一系列增量備份中的每一個都會有上次增量備份映像的內容。增量備份映像的前身通常是同一物件最新的、成功的完全備份。 我們本次增量備份的前身是是我們上次的聯機全備,備份映像時間戳是20070929094546。在此增量備份中,記錄了剛才我們插入的兩條記錄,ID為6和7。

 

下面我們再在DB2CLP視窗連上示例資料庫DB2TEST1,在TEST1表新插入兩條記錄,具體如清單22所示:

 

- - 清單22 .插入測試表兩條新的記錄

 

C:\> db2 connect to db2test1

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2 / NT 9.1.0

 SQL 授權標識         = RHETTE

 本地資料庫別名       = DB2TEST1

 

 

C:\> DB2 INSERT INTO TEST1 VALUES ( 8 , ' New York ' , ' the eighth rows ' )

DB20000I  SQL命令成功完成。

 

C:\> DB2 INSERT INTO TEST1 VALUES ( 9 , ' Houston ' , ' the ninth rows ' )

DB20000I  SQL命令成功完成。

 

 

命令成功完成,現在我們來差異備份示例資料庫DB2TEST1,把資料庫最新的修改記錄備份下來,在DB2CLP視窗中發出帶INCREMENTAL DELTA選項的BACKUP DB命令,具體如清單23所示:

 

- - 清單23 .增量備份示例資料庫DB2TEST1

 

C:\> DB2 BACKUP DB DB2TEST1 ONLINE INCREMENTAL DELTA INCLUDE LOGS

 

備份成功。此備份映像的時間戳記是:20070929095249

 

 

備份成功。此備份映像的時間戳記是:20070929095249。

差異備份映像或增量差異備份映像是自從上次相關表空間的成功備份(包括完整、增量或差異備份)以來,已更改過的所有資料庫資料的副本。也稱為差異備份映像或非累積備份映像。差異備份映像的前身是最新的成功備份,包括差異備份映像中每個表空間的備份。本次差異備份映像的前身是上次的增量備份,其時間戳是20070929094818。裡面包含我們剛才插入的兩條記錄,ID分別是8和9。

 

 

如果想檢視資料庫的歷史備份還原情況,可以使用帶有LIST HISTORY BACKUP ALL命令,對於備份映像資訊來說,型別N代表線上全備,O代表線上增量備,E代表線上差異備份, 型別F代表離線全備,I代表離線增量備份,D代表離線差異備份。

下面我們在DB2CLP視窗中,用LIST HISTORY命令檢視備份歷史情況,在返回結果中能看到我們聯機備份映像(時間戳20070929094546)中包含了日誌S0000008.LOG。聯機增量備份映像(時間戳20070929094818)中包含了日誌S0000010.LOG。聯機差異備份映像(時間戳20070929095249)中包含了日誌S0000012.LOG。具體如清單24所示:

 

- - 清單24 .檢視備份歷史記錄

 

C:\> db2 list history backup all for db2test1

 

                    列示 db2test1 的歷史記錄檔案

 

匹配的檔案條目數 = 11

. . . . . . . . . . . . . .

 

 Op 物件 時間戳記+序列     型別 裝置 最早日誌    當前日誌     備份標識

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  B  D  20070929094546001   N    D  S0000008.LOG S0000008.LOG

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  包含 3 表空間:

 

  00001 SYSCATSPACE

  00002 USERSPACE1

  00003 SYSTOOLSPACE

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    註釋:DB2 BACKUP DB2TEST1 ONLINE

 開始時間:20070929094546

   結束時間:20070929094550

     狀態:A

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  EID:20 位置:C:

 

 

 Op 物件 時間戳記+序列     型別 裝置 最早日誌    當前日誌     備份標識

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  B  D  20070929094818001   O    D  S0000010.LOG S0000010.LOG

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  包含 3 表空間:

 

  00001 SYSCATSPACE

  00002 USERSPACE1

  00003 SYSTOOLSPACE

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    註釋:DB2 BACKUP DB2TEST1 ONLINE

 開始時間:20070929094818

   結束時間:20070929094819

     狀態:A

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  EID :23 位置:C :

 

 

 Op 物件 時間戳記+序列     型別 裝置 最早日誌    當前日誌     備份標識

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  B  D  20070929095249001   E    D  S0000012.LOG S0000012.LOG

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  包含 3 表空間:

 

  00001 SYSCATSPACE

  00002 USERSPACE1

  00003 SYSTOOLSPACE

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    註釋:DB2 BACKUP DB2TEST1 ONLINE

 開始時間:20070929095249

   結束時間:20070929095250

     狀態:A

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  EID:26 位置:C :

 

 

 

       至此,我們對示例資料庫DB2TEST1啟用了增量跟蹤(TRACHMOD配置引數開啟),分別做了聯機全量備份、聯機增量備份和聯機差異備份,在備份之前,都分別插入了不同的值。下面我們將分別講述使用手工和自動兩種不同方式恢復示例資料庫DB2TEST1,以及中間需要注意的事項。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-366505/,如需轉載,請註明出處,否則將追究法律責任。

相關文章