DB2 V9聯機備份還原(四)
利用聯機備份映像檔案恢復資料庫,需要用到聯機備份期間相關的日誌檔案,如果沒有這些日誌檔案,整個恢復過程將不能完成。由於我們在聯機資料庫備份時使用INCLUDE LOGS選項,所以在聯機全量備份映像檔案中包含了聯機備份期間相關的日誌檔案。要從備份映像復原日誌檔案,可使用RESTORE DATABASE命令的LOGTARGET選項,並指定存在於DB2伺服器上的標準路徑。然後,復原資料庫實用程式將日誌檔案從映像寫至目標路徑。如果目標路徑中已存在名稱相同的日誌檔案,復原操作將失敗並返回一個錯誤。如果未指定 LOGTARGET選項,則不會從備份映像中復原任何日誌檔案。如果指定 LOGTARGET選項,且備份映像不包含任何日誌檔案,則在嘗試復原任何表空間資料之前,將返回一個錯誤。如果指定無效或只讀路徑,復原操作也將失敗。在指定 LOGTARGET選項條件下,復原資料庫或表空間的過程中,如果不能抽取一個或多個日誌檔案,則復原操作失敗並返回錯誤。還可以選擇只復原儲存在備份映像中的日誌檔案。要執行此操作,可使用 RESTORE DATABASE命令的LOGTARGET選項指定LOGS選項。以此方式復原日誌檔案時,如果復原操作遇到任何問題,則復原操作失敗並返回錯誤。
下面我們來利用之前的聯機備份映像(時間戳為20070928223032)進行還原。在資源管理器中,開啟示例資料庫DB2TEST1的活動日誌目錄C:\DB2\NODE0000\SQL00002\SQLOGIDR\(想檢視示例資料庫DB2TEST1的活動日誌目錄,可以使用GET DB CFG看到),刪除所有的日誌檔案(注意,生產系統不能刪除活動日誌,否則資料庫會當機)。本示例是為了演示如何還原資料庫,刪除日誌後隨即執行還原,為了更清晰的看到如何利用備份檔案中的日誌進行還原,故刪除了以前的活動日誌。
在DB2CLP視窗中發出帶LOGTARGET選項的RESTORE DATABASE命令,並指定把備份映像中的日誌檔案放到C:\DB2\NODE0000\SQL00002\SQLOGIDR\中,具體如清單11所示:
- - 清單 11 .利用聯機備份映像還原示例資料庫DB2TEST1
C:\> db2 restore db db2test1 taken at 20070928223032 logtarget C:\DB2\NODE0000\SQL00002\SQLOGDIR
SQL2539W 警告!正在復原至與備份映像資料庫相同的現有資料庫。資料庫檔案將被刪除。
要繼續嗎?( y / n ) y
DB20000I RESTORE DATABASE命令成功完成。
如清單11所示,還原的過程中,會提示“正在復原至與備份映像資料庫相同的現有資料庫。資料庫檔案將被刪除。是否要繼續?”這時候選擇y,也就是“是”的意思,回車。命令成功完成,這樣就把備份映像中的S0000001.LOG日誌檔案釋放到了C:\DB2\NODE0000\SQL00002\SQLOGIDR\目錄中。由於歸檔日誌情況下的利用聯機備份映像還原必須進行前滾恢復,所以接下來我們進行前滾恢復,在DB2CLP視窗中發出ROLLFORWARD DB命令,具體如清單12所示:
- - 清單 12 .對示例資料庫DB2TEST1進行前滾恢復
C:\> db2 rollforward db db2test1 to end of logs and stop
前滾狀態
輸入資料庫別名 = db2test1
節點數已返回狀態 = 1
節點號 = 0
前滾狀態 = 未暫掛
下一個要讀取的日誌檔案 =
已處理的日誌檔案 = S0000001.LOG - S0000001.LOG
上次落實的事務 = 2007-09-28-14.30.36.000000 UTC
DB20000I ROLLFORWARD命令成功完成。
命令成功完成,可以看到,在前滾過程中,對S0000001.LOG已經進行了前滾。
此時在DB2CLP視窗中,連線上示例資料庫DB2TEST1,發出SELECT語句,檢視示例表TEST1,可以看到我們在聯機備份時插入的資料,名稱為”SCA”的記錄已經成功恢復,具體如清單13所示:
- - 清單 13 .檢視示例表TEST1
C:\> DB2 CONNECT TO DB2TEST1
資料庫連線資訊
資料庫伺服器 = DB2/NT 9.1.0
SQL 授權標識 = RHETTE
本地資料庫別名 = DB2TEST1
C:\> DB2 SELECT * FROM TEST1
ID NAME NOTE
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 RHETTE the first rows
2 DANIEL the second rows
3 SCA the third rows
3 條記錄已選擇。
至此,我們成功的利用聯機備份映像還原了示例資料庫DB2TEST1,總結一下,整個過程如下:
Ø 在歸檔日誌模式下,對資料庫發出帶ONLINE和INCLUDE LOG選項的BACKUP DATABASE命令,聯機全量備份示例資料庫DB2TEST1,備份映像中包含聯機備份期間相關的日誌。
Ø 利用帶LOGTARGET選項的RESTORE DATABASE命令,使用聯機備份映像恢復示例資料庫DB2TEST1,並把日誌檔案中的日誌檔案解壓到示例資料庫DB2TEST1的活動日誌目錄中。
利用前滾恢復滾動到日誌末尾完成最後的操作。來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-366503/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DB2 V9聯機備份還原(七)DB2
- DB2 V9聯機備份還原(六)DB2
- DB2 V9聯機備份還原(五)DB2
- DB2 V9聯機備份還原(三)DB2
- DB2 V9聯機備份還原(二)DB2
- DB2 V9聯機備份還原(一)DB2
- [DB2]離線備份與離線還原DB2
- mysql備份還原MySql
- mysql備份還原-基於binlog的增量備份還原MySql
- mysql 備份與還原MySql
- MySQL備份和還原MySql
- DM7使用聯機執行SQL語句進行備份還原SQL
- DB2 V9表壓縮(四)DB2
- DB2 V9表分割槽(四)DB2
- ORACLE RMAN備份及還原Oracle
- MySQL之備份和還原MySql
- DB2 V9配置顧問程式(四)DB2
- Ubuntu Desktop: 備份與還原Ubuntu
- Mysql資料備份和還原MySql
- Ghost備份及還原系統
- sqlserver遠端備份和還原SQLServer
- MSSQL 備份資料庫還原SQL資料庫
- oracle基礎備份和還原Oracle
- HBase 增量備份和還原工具
- oracle資料還原與備份Oracle
- 【SQL Server】本地備份和還原SQLServer
- Oracle 聯機備份 離線備份 物理備份 恢復Oracle
- SAN交換機配置的備份還原,韌體升級
- Db2 備份DB2
- 【DB2】聯機備份後 當前使用者不能再訪問DB2
- 揭祕ORACLE備份之--熱備份(也叫聯機備份)Oracle
- 【Mongodb】資料庫備份與還原MongoDB資料庫
- sqlserver資料庫的備份還原SQLServer資料庫
- elasticsearch備份和還原(基於hdfs)Elasticsearch
- 「MySQL」資料庫備份和還原MySql資料庫
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- 批量備份和還原資料庫資料庫
- 【Mysql】innobackupex備份還原單個庫MySql