程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 備份與跨平台遷移的正確操作步驟與代碼

DB2 備份與跨平台遷移的正確操作步驟與代碼

編輯:DB2教程

以下的文章主要向大家描述的是DB2 備份與跨平台遷移的正確操作步驟,如果你對DB2 備份與跨平台遷移的正確操作步驟心存好奇的話,以下的文章將會揭開它的神秘面紗,以下就是文章的詳細內容介紹,望大家借鑒。

數據庫, 備份, DB2, 遷移跨平台, 遷移

首先設置歸檔參數

Java代碼

  1. 1. db2 update db cfg for using mirrorlogpath /home/db2inst1/mirror_log/ //mirror log   
  2. 2. db2 get db cfg for //確認是否成功   
  3. 3. db2 update db cfg for using userexit on //啟用用戶出口   
  4. 4. db2 update db cfg for using logretain on //啟用歸檔日志   
  5. 5. db2 update db cfg for using trackmod on //啟用增量備份功能   
  6. 6. db2stop force   
  7. 7. db2start   
  8. 8. db2 backup db to /home/db2inst1/off_back //  
  9. db2 update db cfg for using mirrorlogpath /home/db2inst1/mirror_log/ //mirror log  
  10. db2 get db cfg for //確認是否成功  
  11. db2 update db cfg for using userexit on //啟用用戶出口  
  12. db2 update db cfg for using logretain on //啟用歸檔日志  
  13. db2 update db cfg for using trackmod on //啟用增量備份功能  
  14. db2stop force  
  15. db2start  
  16. db2 backup db to /home/db2inst1/off_back //  

DB2 備份在線數據庫

Java代碼

  1. 1. db2 backup db online to /home/db2inst1/on_back/ //在線備份   
  2. 2. db2 backup db online incremental to /home/db2inst1/on_back/ //在線做增量備份   
  3. 3. db2 list history backup all for //查看備份記錄   
  4. 4. db2 get db cfg for //查看log所在位置,cp到一個安全目錄,供rollforward使用。   
  5. 5. db2stop force;db2start;db2 drop db //手工drop數據庫,模擬災難恢復的情況  
  6. db2 backup db online to /home/db2inst1/on_back/ //在線備份  
  7. db2 backup db online incremental to /home/db2inst1/on_back/ //在線做增量備份  
  8. db2 list history backup all for //查看備份記錄  
  9. db2 get db cfg for //查看log所在位置,cp到一個安全目錄,供rollforward使用。  
  10. db2stop force;db2start;db2 drop db //手工drop數據庫,模擬災難恢復的情況  

恢復在線數據庫

Db2代碼

  1. 1. db2ckrst -d -t 20070608032820 -r database //幫助工具提示恢復   
  2. 2. db2 restore db incremental from /home/db2inst1/on_back taken at 20070608032820 //恢復數據文件   
  3. 3. 先恢復完全備份,然後在恢復增量備份,不能自動尋找完全備份文件。   
  4. 4. db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滾日志有一點不認同:“先恢復完全備份,然後在恢復增量備份”   
  5. 5. 對於增量恢復,你的做法正好反了,你這樣做的話,會收到SQL2574N的錯誤信息。   
  6. 6. 在db2ckrst裡面已經清楚的告訴你恢復的順序。   
  7. 7. 下面是測試備份鏡像中包日志的備份和恢復的步驟:   
  8. 8. 注:/home/db2inst1/on_back/ #為備份文件位置   
  9. 9. /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數據庫的log位置,通過db2 get db cfg for 得到。   
  10. 10. db2stop force;db2start;db2 drop db #模仿災難發上,drop數據庫。   
  11. 11. db2 backup db online to /home/db2inst1/on_back/ include logs #備份帶日志的鏡像文件   
  12. 12. db2 backup db online incremental to /home/db2inst1/on_back/ include logs #備份帶日志的增量鏡像文件   
  13. 13. db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET

     /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢復時間戳在20070612070526的數據鏡像和日志文件   
  14. 14. db2 rollforward database to end of logs and complete //回滾log日志   
  15. 15. 在“10”中已把數據庫drop了,“20”中如何做online backup呢?   
  16. 16. 注:/home/db2inst1/on_back/ #為備份文件位置   
  17. 17. /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數據庫的log位置,通過db2 get db cfg for 得到。   
  18. 18. db2 backup db online to /home/db2inst1/on_back/ include logs #備份帶日志的鏡像文件   
  19. 19. db2 backup db online incremental to /home/db2inst1/on_back/ include logs #備份帶日志的增量鏡像文件   
  20. 20. db2stop force;db2start;db2 drop db #模仿災難發上,drop數據庫。   
  21. 21. db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET

     /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢復時間戳在20070612070526的數據鏡像和日志文件   
  22. 22. db2 rollforward database to end of logs and complete //回滾log日志  
  23. db2ckrst -d -t 20070608032820 -r database //幫助工具提示恢復  
  24. db2 restore db incremental from /home/db2inst1/on_back taken at 20070608032820 //恢復數據文件  
  25. 先恢復完全備份,然後在恢復增量備份,不能自動尋找完全備份文件。  
  26. db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滾日志有一點不認同:“先恢復完全備份,然後在恢復增量備份”  
  27. 對於增量恢復,你的做法正好反了,你這樣做的話,會收到SQL2574N的錯誤信息。  
  28. 在db2ckrst裡面已經清楚的告訴你恢復的順序。  
  29. 下面是測試備份鏡像中包日志的備份和恢復的步驟:  
  30. 注:/home/db2inst1/on_back/ #為備份文件位置  
  31. /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數據庫的log位置,通過db2 get db cfg for 得到。  
  32. db2stop force;db2start;db2 drop db #模仿災難發上,drop數據庫。  
  33. db2 backup db online to /home/db2inst1/on_back/ include logs #備份帶日志的鏡像文件  
  34. db2 backup db online incremental to /home/db2inst1/on_back/ include logs #備份帶日志的增量鏡像文件  
  35. db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET

     /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢復時間戳在20070612070526的數據鏡像和日志文件  
  36. db2 rollforward database to end of logs and complete //回滾log日志  
  37. 在“10”中已把數據庫drop了,“20”中如何做online backup呢?  
  38. 注:/home/db2inst1/on_back/ #為備份文件位置  
  39. /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數據庫的log位置,通過db2 get db cfg for 得到。  
  40. db2 backup db online to /home/db2inst1/on_back/ include logs #備份帶日志的鏡像文件  
  41. db2 backup db online incremental to /home/db2inst1/on_back/ include logs #備份帶日志的增量鏡像文件  
  42. db2stop force;db2start;db2 drop db #模仿災難發上,drop數據庫。  
  43. db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET

     /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢復時間戳在20070612070526的數據鏡像和日志文件  
  44. db2 rollforward database to end of logs and complete //回滾log日志  

以上為DB2備份方式

以下介紹一下跨平台遷移DB2

源數據庫AIX平台+DB2 目標平台LINUX

首先在源庫導出庫結構。

Db2代碼

  1. 1. db2look -d dbname -e -o db2look.sql  
  2. db2look -d dbname -e -o db2look.sql  

然後導出源數據庫DB2數據

Db2代碼

  1. 1. db2move dbname export –u user –p password  
  2. db2move dbname export –u user –p password  

其中db2move.lst記錄所有導出的文件,可以進行編輯從而決定導入哪些數據表

然後在目標linux主機上建立DB2的新庫,導入結構及數據、

Db2代碼

  1. 1. db2 -tvf db2look.sql   
  2. 2. db2move dbname import  

以上的相關內容就是對DB2 備份及跨平台遷移的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved