此文章主要向大家講述的是DB2在線增量備份以及還原增量備份與前滾恢復的實際操作流程,以下就是文章對這些內容的詳細描述,望大家在浏覽之後會對DB2在線增量備份以及還原增量備份與前滾恢復的實際操作步驟有更好的了解。
在線增量備份前提:
1、更改數據庫參數 logretain, userexit, trackmod 為 on2、更改參數之後完全離線備份數據庫一次3、之後就可以進行在線、在線增量備份了。
說明:在線增量備份前提:
1、更改數據庫參數 logretain, userexit, trackmod 為 on
2、更改參數之後完全離線備份數據庫一次
3、之後就可以進行在線、DB2在線增量備份了
測試結果通過,腳本如下。
重要!數據庫歸檔日志必須按時備份至另一個地方,本例中為 C:\TESTDB.0\SQLOGDIR
C:\Documents and Settings\Administrator>cd\
C:\>db2 drop db TestDB
DB20000I DROP DATABASE 命令成功完成。
C:\>db2 create db TestDB
DB20000I CREATE DATABASE 命令成功完成。
C:\>db2 connect to TestDB
數據庫連接信息
數據庫服務器 = DB2/NT 8.2.0
SQL 授權標識 = ADMINIST...
本地數據庫別名 = TESTDB
修改數據庫參數,使之支持在線聯機備份
C:\>db2 update db cfg using logretain on userexit on trackmod on
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。
SQL1363W 為立即修改而提交的一個或多個參數未動態更改。對於這些配置參數,必須在所
有應用程序都與此數據庫斷開連接之後,更改才會生效。
執行增量、在線備份之前必須執行離線全備份一次
C:\>db2 backup db TestDB
備份成功。此備份映像的時間戳記是:20070419144951
C:\>db2 connect to TestDB
數據庫連接信息
數據庫服務器 = DB2/NT 8.2.0
SQL 授權標識 = ADMINIST...
DB2在線增量備份 還原增量備份及前滾恢復
本地數據庫別名 = TESTDB
創建測試表,並插入測試數據
C:\>db2 create table T1(C1 int)
DB20000I SQL 命令成功完成。
C:\>db2 insert into T1(C1) values (1)
DB20000I SQL 命令成功完成。
執行在線增量數據庫備份
C:\>db2 backup db TestDB online incremental
備份成功。此備份映像的時間戳記是:20070419145112
模擬災難,刪除數據庫! (注意,此前一定要將歸檔日志文件備份至另一個路徑,保存好)
C:\>db2 drop db TestDB
DB20000I DROP DATABASE 命令成功完成。
根據DB2在線增量備份恢復數據庫
C:\>db2 restore db TestDB incremental automatic from "c:" taken at 2007041914511
2
DB20000I RESTORE DATABASE 命令成功完成。
恢復後的數據庫處於前滾暫掛狀態,不可用
C:\>db2 connect to TestDB
SQL1117N 由於 ROLL-FORWARD PENDING,不能連接或激活數據庫 "TESTDB"。
SQLSTATE=57019
前滾數據庫,並指定歸檔日志位置,重要!
C:\>db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE OVERFLOW LOG PAT
H ("C:\TESTDB.0\SQLOGDIR")
前滾狀態
輸入數據庫別名 = TESTDB
節點數已返回狀態 = 1
節點號 = 0
前滾狀態 = 未暫掛
下一個要讀取的日志文件 =
已處理的日志文件 = S0000001.LOG - S0000001.LOG
上次落實的事務 = 2007-04-19-06.51.22.000000
DB20000I ROLLFORWARD 命令成功完成。
恢復據庫完成,前滾完成,查詢測試數據
C:\>db2 connect to TestDB
數據庫連接信息
數據庫服務器 = DB2/NT 8.2.0
SQL 授權標識 = ADMINIST...
本地數據庫別名 = TESTDB
C:\>db2 select * from T1
C1
1
1 條記錄已選擇。
測試全部正常,退出
C:\>db2 connect reset
DB20000I SQL 命令成功完成。
C:\>db2 terminate
DB20000I TERMINATE 命令成功完成。