DB2備份恢復測試

keeptrying發表於2012-11-30

恢復:

 

RESTORE DATABASE source-database-alias { restore-options | CONTINUE | ABORT }

 

restore-options:

  [ USER username [USING password] ]

  [ Restore-Inventory-Clause ]

 [ INCREMENTAL [ AUTOMATIC | ABORT ] ]

 [ Media-Target-Clause ]

 [ TAKEN AT date-time ]

 [ [ TO target-directory ] | [ ON drive [ {,drive}… ] [ DBPATH ON drive ] ] ]

 [ INTO target-database-alias ]

 [ LOGTARGET {directory | { { INCLUDE | EXCLUDE } [ FORCE] }} ]

 [ NEWLOGPATH directory ]

 [ WITH num-buffer BUFFERS ] [ BUFFER buffer-size ]

 [ REPLACE HISTORY FILE ] [ REPLACE EXISTING ]

 [ REDIRECT [ GENERATE SCRIPT. file-name ] ]

 [ PARALLELISM n ]

 [ COMPRLIB lib-name ]

 [ COMPROPTS options-string ]

 [ WITHOUT ROLLING FORWARD ]

 [ WITHOUT PROMPTING ]

 

Restore-Inventory-Clause:

  rebuild-options |

TABLESPACE [ ONLINE ] |

TABLESPACE ( tablespace-name [ {,tablespace-name}… ] ) [ ONLINE ] |

HISTORY FILE [ ONLINE ] |

LOGS [ ONLINE ] |

COMPRESSIN LIBRARY [ ONLINE ]

 

Media-Target-Clause:

  USE { TSM | XBSA } [ OPEN num-sess SESSIONS ] | SNAPSHOT [ LIBRARY shared-lib ]

[ OPTIONS { options-string | options-filename } ] |

  LOAD lib-name [ OPEN num-sess SESSIONS ]

[ OPTIONS { options-string | options-filename } ] |

  FROM dir/dev [ {,dir/dev}… ]

 

rebuild-options:

  REBUILD WITH { ALL TABLESPACE IN { DATABASE | IMAGE }

[ EXCEPT TABLESPACE ( tablespace-name [ {,tablespace-name}… ] ) ] |

TABLESPACE ( tablespace-name [ {,tablespace-name}… ] ) }

 

 

 

前滾:

 

ROLLFORWARD DATABASE database-alias [ USER username [ USING password ] ]

[ TO { isotime [ ON ALL DBPARTITIONNUMS ]

[ USING LOCAL TIME | USING UTC TIME ]} |

{ END OF BACKUP [ ON ALL DBPARTITIONNUMS ] } |

{ END OF LOGS [ On-DbPartitionNum-Clause ] }

[ AND { COMPLETE | STOP } ]

] |

[ COMPLETE | STOP | CANCEL |

{ QUERY STATUS [ USING LOCAL TIME | USING UTC TIME ] }

[ On-DbPartitionNum-Clause ]

]

 

[TABLESPACE ONLINE | TABLESPACE(tablespace-name[{,tablespace-name}…])[ONLINE] ]

[ OVERFLOW LOG PATH ( log-directory

[{,log-directory ON DBPARTITIONNUM db-partition-number}…] ) ]

[ NORETRIEVE ]

[ RECOVER DROPPED TABLE dropped-table-id TO export-directory ]

 

 

On-DbPartitionNum-Clause:

  ON { { DBPARTITIONNUM | DBPARTITIONNUMS }

( db-partition-number [ TO db-partition-number ],…) |

ALL DBPARTITIONNUMS [EXCEPT{DBPARTITIONNUM |DBPARTITIONNUMS}

( db-partition-number [ TO db-partition-number ],… )]

 }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

備份恢復測試

 

 

一、             資料庫恢復

對於RESTORE,只能執行OFFLINE模式。

 

版本恢復與時間點恢復

1、  版本恢復

 

 db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t

 

ID          NAME

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

          1 b

          2 b

          3 b

          4 b

          5 b

 

  5 條記錄已選擇。

 

 

db2 => backup database test to d:\db2\db2backup  --離線完整備份

 

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

 

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t

 

ID          NAME

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

          1 b

          2 b

          3 b

          4 b

          5 b

 

  5 條記錄已選擇。

 

db2 => update test.t set name='a'         --備份之後修改了表中的資料

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

          1 a

          2 a

          3 a

          4 a

          5 a

 

  5 條記錄已選擇。

 

db2 => restore database test from d:\db2\db2backup taken at 20121129103852 without rolling

 forward without prompting            --without rolling forward指定不前滾

SQL2540W  復原成功,但是在以“無中斷”方式進行處理時,在“資料庫復原”期間,遇到

警告 "2539"

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t   --資料庫恢復到了修改之前的狀態,資料為完整備份時的資料

 

ID          NAME

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

          1 b

          2 b

          3 b

          4 b

          5 b

 

  5 條記錄已選擇。

 

備份時使用聯機備份,執行版本恢復時有所不同:

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t

 

ID          NAME

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

          1 b

          2 b

          3 b

          4 b

          5 b

 

  5 條記錄已選擇。

 

db2 => backup database test online to d:\db2\db2backup    --執行聯機備份

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => update test.t set name='c'               --備份之後修改了表中資料

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

          1 c

          2 c

          3 c

          4 c

          5 c

 

  5 條記錄已選擇。

db2 => restore database test from d:\db2\db2backup  taken at 20121129114335 without rollin

g forward without prompting

SQL2537N  Restore 之後,需要“前滾”。

 

--使用聯機資料庫備份執行版本恢復時,嘗試使用without rolling forward選項失敗!

 

db2 => restore database test from d:\db2\db2backup  taken at 20121129114335 without prompt

ing           --不指定without rolling forward恢復

SQL2540W  復原成功,但是在以“無中斷”方式進行處理時,在“資料庫復原”期間,遇到

警告 "2539"

 

db2 => connect to test

SQL1117N  因為處於 ROLL-FORWARD PENDING 狀態,所以不能連線或啟用資料庫

"TEST"  SQLSTATE=57019

 

--此時資料庫處於ROLL-FORWARD PENDING狀態,要求必須執行roll forward

 

db2 => rollforward database test to end of backup and complete

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 未暫掛

 下一個要讀取的日誌檔案          =

 已處理的日誌檔案                = S0000029.LOG - S0000030.LOG

 上次落實的事務                  = 2012-11-29-03.43.45.000000 UTC

 

DB20000I  ROLLFORWARD 命令成功完成。

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t   --資料庫恢復到了修改之前的狀態,資料為完整備份時的資料

 

ID          NAME

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

          1 b

          2 b

          3 b

          4 b

          5 b

 

  5 條記錄已選擇。

 

 

 

 

2、  時間點恢復(前滾恢復)

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t

 

ID          NAME

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

          1 b

          2 b

          3 b

          4 b

          5 b

 

  5 條記錄已選擇。

 

db2 => backup database test to d:\db2\db2backup    --離線資料庫備份

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => update test.t set name='x'        --備份後修改了表中的資料

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

 

  5 條記錄已選擇。

 

db2 => drop database test             --刪除資料庫

SQL1035N  資料庫當前正在使用。  SQLSTATE=57019

db2 => force application all

DB20000I  FORCE APPLICATION 命令成功完成。

DB21024I  此命令為非同步的,可能未能立即生效。

 

db2 => drop database test

DB20000I  DROP DATABASE 命令成功完成。

 

db2 => list db directory    --檢視例項下沒有test資料庫

 

 系統資料庫目錄

 

 目錄中的條目數 = 1

 

資料庫 1 條目:

 

 資料庫別名                      = SAMPLE

 資料庫名稱                               = SAMPLE

 本地資料庫目錄                  = D:

 資料庫發行版級別                = d.00

 註釋                            =

 目錄條目型別                    = 間接

 目錄資料庫分割槽號                  = 0

 備用伺服器主機名                =

 備用伺服器埠號                =

 

db2 => restore database test from d:\db2\db2backup taken at 20121129130343

SQL2539W  警告!正在復原至與備份映像資料庫相同的現有資料庫。資料庫檔案將被刪除。

 

想要繼續嗎?(y/n y

DB20000I  RESTORE DATABASE 命令成功完成。

--不帶without rolling forward選項的資料庫恢復,執行後必須rollforward

 

 

db2 => rollforward database test query status      --檢視此時資料庫前滾狀態

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 資料庫暫掛

 下一個要讀取的日誌檔案          = S0000029.LOG

 已處理的日誌檔案                =  -

 上次落實的事務                  = 2012-11-29-05.03.54.000000 UTC

 

db2 => rollforward database test to end of logs   --前滾至日誌最後

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 資料庫工作

 下一個要讀取的日誌檔案          = S0000029.LOG

 已處理的日誌檔案                = S0000029.LOG - S0000029.LOG

 上次落實的事務                  = 2012-11-29-05.05.33.000000 UTC

 

DB20000I  ROLLFORWARD 命令成功完成。

 

db2 => connect to test

SQL1117N  因為處於 ROLL-FORWARD PENDING 狀態,所以不能連線或啟用資料庫

"TEST"  SQLSTATE=57019

db2 => rollforward database test query status

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 資料庫工作

 下一個要讀取的日誌檔案          = S0000029.LOG

 已處理的日誌檔案                = S0000029.LOG - S0000029.LOG

 上次落實的事務                  = 2012-11-29-05.05.33.000000 UTC

 

db2 => rollforward database test to end of logs and complete

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 未暫掛

 下一個要讀取的日誌檔案          =

 已處理的日誌檔案                = S0000029.LOG - S0000029.LOG

 上次落實的事務                  = 2012-11-29-05.05.33.000000 UTC

 

DB20000I  ROLLFORWARD 命令成功完成。

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t   --檢查表中資料為備份後修改過的資料,即資料庫刪除時的狀態

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

 

  5 條記錄已選擇。

 

二、             表空間恢復

可以使用完整資料庫備份或表空間備份來恢復表空間。

對於表空間恢復,線上恢復和離線恢復都是允許的。

表空間被恢復後,總是被置於rollforward pending狀態。

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => backup database test tablespace(test) online to d:\db2\db2backup --表空間線上備份

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t   --檢視備份時表中資料

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

          6 a

          6 a

          6 a

          6 a

          6 a

          6 a

          6 a

 

  12 條記錄已選擇。

 

db2 => select current timestamp from sysibm.sysdummy1  --檢視系統當前時間戳

 

1

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

2012-11-29-15.41.01.109000

 

db2 => delete from test.t where id=6    --備份後刪除了表中部分資料

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

 

  5 條記錄已選擇。

 

db2 => restore database test tablespace(test) online from d:\db2\db2backup taken at 201211

29153838

DB20000I  RESTORE DATABASE 命令成功完成。

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t

 

ID          NAME

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

SQL0290N  不允許訪問表空間。  SQLSTATE=55039

 

db2 => rollforward database test query status tablespace(test)

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = TBS 暫掛

 下一個要讀取的日誌檔案          =

 已處理的日誌檔案                = S0000029.LOG - S0000029.LOG

 上次落實的事務                  = 2012-11-29-05.05.33.000000 UTC

 

db2 => rollforward database test to 2012-11-29-15.41.01 using local time and stop tablespa

ce(test)             --前滾至指定時間戳位置

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 未暫掛

 下一個要讀取的日誌檔案          =

 已處理的日誌檔案                =  -

 上次落實的事務                  = 2012-11-29-13.05.33.000000 Local

 

DB20000I  ROLLFORWARD 命令成功完成。

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t       --表中資料為時間戳時的資料,即部分資料刪除之前

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

          6 a

          6 a

          6 a

          6 a

          6 a

          6 a

          6 a

 

  12 條記錄已選擇。

 

--之後刪除資料時發現表空間不允許訪問!

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => delete from test.t where id=6

DB21034E  該命令被當作 SQL 語句來處理,因為它是無效的“命令列處理器”命令。在

SQL 處理期間,它返回:

SQL0290N  不允許訪問表空間。  SQLSTATE=55039

 

db2 => list tablespaces show detail        --檢視錶空間狀態

表空間標識                        = 4

名稱                       = TEST

型別                                       = 資料庫管理空間

內容                                = 所有持久資料。常規表空間。

狀態                   = 0x0020          --備份暫掛狀態!正常為0x0000

 

表空間恢復前滾後,需要對錶空間進行備份才能消除備份暫掛狀態!

 

db2 => backup database test tablespace(test) online to d:\db2\db2backup

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => list tablespaces show detail      --備份暫掛狀態消除

表空間標識                        = 4

名稱                       = TEST

型別                                       = 資料庫管理空間

內容                                = 所有持久資料。常規表空間。

狀態                   = 0x0000

 

db2 => delete from test.t where id=6

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

 

  5 條記錄已選擇。

 

 

三、             增量備份恢復

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

 

  5 條記錄已選擇。

 

db2 => backup database test to d:\db2\db2backup           --資料庫完整備份

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(6,'a')

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(7,'b')       --在完整備份後插入了兩條資料

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

          6 a

          7 b

 

  7 條記錄已選擇。

 

db2 => backup database test online incremental to d:\db2\db2backup   --線上增量備份1

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(10,'s')

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(11,'s')    --增量備份1後再次插入兩條資料

DB20000I  SQL 命令成功完成。

 

db2 => select * from test.t

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

          6 a

          7 b

         10 s

         11 s

 

  9 條記錄已選擇。

 

db2 => backup database test online incremental to d:\db2\db2backup  --線上增量備份2

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(20,'G')

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(21,'G')     --增量備份2後又插入兩條資料

DB20000I  SQL 命令成功完成。

 

db2 => select * from test.t

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

          6 a

          7 b

         10 s

         11 s

         20 G

         21 G

 

  11 條記錄已選擇。

 

db2 => force application all

DB20000I  FORCE APPLICATION 命令成功完成。

DB21024I  此命令為非同步的,可能未能立即生效。

 

db2 => drop database test                       --刪除資料庫

DB20000I  DROP DATABASE 命令成功完成。

 

db2 => restore database test incremental automatic from d:\db2\db2backup taken at 20121130

084054

DB20000I  RESTORE DATABASE 命令成功完成。

--由於兩次增量備份都不是delta增量備份,可以使用任意一個增量備份進行恢復,這裡使用第二次的備份。

 

db2 => connect to test         --資料庫處於ROLL-FORWARD PENDING狀態

SQL1117N  因為處於 ROLL-FORWARD PENDING 狀態,所以不能連線或啟用資料庫

"TEST"  SQLSTATE=57019

db2 => rollforward database test to end of logs and complete  --使用日誌檔案前滾

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 未暫掛

 下一個要讀取的日誌檔案          =

 已處理的日誌檔案                = S0000008.LOG - S0000009.LOG

 上次落實的事務                  = 2012-11-30-00.41.37.000000 UTC

 

DB20000I  ROLLFORWARD 命令成功完成。

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t          --檢查表中資料

 

ID          NAME

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

          1 x

          2 x

          3 x

          4 x

          5 x

          6 a

          7 b

         10 s

         11 s

         20 G

         21 G

 

  11 條記錄已選擇。

 

 

四、             DELTA增量備份恢復

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => delete from test.t

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

 

  0 條記錄已選擇。

db2 => backup database test to d:\db2\db2backup    --資料庫完整離線備份

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(100,'aa')     --資料庫完整備份後插入兩條資料

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(100,'aa')

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

        100 aa

        100 aa

 

  2 條記錄已選擇。

 

db2 => backup database test incremental delta to d:\db2\db2backup  --第一次DELTA備份

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(200,'bb')     --第一次DELTA增量備份後插入兩條資料

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(200,'bb')

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

        200 bb

        200 bb

        100 aa

        100 aa

 

  4 條記錄已選擇。

 

db2 => backup database test incremental delta to d:\db2\db2backup  --第二次DELTA備份

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(300,'cc')     --第二次增量DELTA備份後插入兩條資料

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(300,'cc')

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

        200 bb

        200 bb

        100 aa

        100 aa

        300 cc

        300 cc

 

  6 條記錄已選擇。

 

db2 => backup database test incremental to d:\db2\db2backup --第三次增量備份不使用DELTA

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(400,'dd')    --第三次增量備份後插入兩條資料

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(400,'dd')

DB20000I  SQL 命令成功完成。

db2 => select * from test.t

 

ID          NAME

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

        200 bb

        200 bb

        100 aa

        100 aa

        300 cc

        300 cc

        400 dd

        400 dd

 

  8 條記錄已選擇。

 

db2 => backup database test incremental delta to d:\db2\db2backup  --第四次增量備份DELTA

 

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

 

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => insert into test.t values(500,'ee')  --第四次DELTA增量備份後插入兩條資料

DB20000I  SQL 命令成功完成。

db2 => insert into test.t values(500,'ee')

DB20000I  SQL 命令成功完成。

 

db2 => select * from test.t          --資料庫刪除前表中的資料

 

ID          NAME

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

        200 bb

        200 bb

        100 aa

        100 aa

        300 cc

        300 cc

        400 dd

        400 dd

        500 ee

        500 ee

 

  10 條記錄已選擇。

 

db2 => drop database test                  

SQL1035N  資料庫當前正在使用。  SQLSTATE=57019

db2 => force application all

DB20000I  FORCE APPLICATION 命令成功完成。

DB21024I  此命令為非同步的,可能未能立即生效。

 

db2 => drop database test                      --刪除資料庫test

DB20000I  DROP DATABASE 命令成功完成。

 

 

在作業系統中刪除前兩個DELTA增量備份2012113009154820121130091720

由於第三次增量備份使用的是累積增量備份,所以使用第四次DELTA增量備份時,應該用不到前兩個DELTA備份,而會用到:資料庫完整備份、第三次備份的增量備份、第四次的DELTA增量備份。

 

db2 => restore database test incremental automatic from d:\db2\db2backup taken at 20121130

092029

DB20000I  RESTORE DATABASE 命令成功完成。

db2 => rollforward database test to end of logs and complete

 

                                 前滾狀態

 

 輸入資料庫別名                      = test

 節點數已返回狀態                = 1

 

 節點號                                = 0

 前滾狀態                                    = 未暫掛

 下一個要讀取的日誌檔案          =

 已處理的日誌檔案                = S0000015.LOG - S0000015.LOG

 上次落實的事務                  = 2012-11-30-01.21.27.000000 UTC

 

DB20000I  ROLLFORWARD 命令成功完成。

db2 => connect to test

 

   資料庫連線資訊

 

 資料庫伺服器         = DB2/NT 9.7.1

 SQL 授權標識         = LIUXIAOH...

 本地資料庫別名       = TEST

 

db2 => select * from test.t               --檢查資料正常

 

ID          NAME

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

        200 bb

        200 bb

        100 aa

        100 aa

        300 cc

        300 cc

        400 dd

        400 dd

        500 ee

        500 ee

 

  10 條記錄已選擇。

 

 

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

相關文章