程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用Java讓DB2數據庫自動備份的方法

使用Java讓DB2數據庫自動備份的方法

編輯:關於JAVA

步驟如下:

  (1) 編寫BAK.Java,代碼如下:(一周內周六完備、其他日期增量備份)

  1 import Java.util.Date;

  2 public class BAK {

  3 public static void main(String[] args) throws Exception{

  4 Runtime runtime = Runtime.getRuntime();

  5 //斷開數據庫(數據庫培訓 數據庫認證 )連接

  6 Process proc = runtime.exec("DB2(DB2認證 DB2培訓 )cmd /c db2 force application all");

  7 //只保留一天的備份

  8 //runtime.exec("del d:\\backup\\db2bak\\autobak\\DATACTR.0\\ /S /F /Q");

  9 //runtime.exec("del d:\\backup\\db2bak\\autobak\\RONE.0\\ /S /F /Q");

  10 //—————————————————————

  11 //暫停n秒

  12 Thread.currentThread().sleep(5000);

  13 //關閉上述進程

  14 //proc.destroy();

  15 //————————————–

  16 //暫停n秒,等待數據庫連接斷開

  17 //Thread.currentThread().sleep(5000);

  18 //備份

  19 //proc = runtime.exec("db2cmd db2 backup db DATACTR");

  20 //Thread.currentThread().sleep(5000);

  21 //proc.destroy();

  22 //————————————–

  23 Date date = new Date();

  24 int dayOfTheWeek = date.getDay();

  25 if (dayOfTheWeek != 6){

  26 //不是周六,進行增量備份

  27 // proc = runtime.exec("db2cmd db2 backup db yndc incremental");

  28 proc = runtime.exec("db2cmd /c db2 backup db yndc incremental");

  29 }

  30 else{

  31 //是周六,進行完全備份

  32 proc = runtime.exec("db2cmd /c db2 backup db yndc");

  33 }

  34 //proc = runtime.exec("db2cmd db2 backup db gather");

  35 proc = runtime.exec("db2cmd /c db2 backup db codebase");

  36 proc = runtime.exec("db2cmd /c db2 backup db rone");

  37 //proc = runtime.exec("db2cmd db2 backup db datactr");

  38 //暫停5秒

  39 //Thread.currentThread().sleep(5000);

  40 //proc.destroy();

  41 //————————————–

  42 //restart db2

  43 //proc = runtime.exec("db2start");

  44 //暫停5秒

  45 //Thread.currentThread().sleep(5000);

  46 //proc.destroy();

  47 //————————————–

  48 runtime.exit(0);

  49 }

  50 }

  (2)編寫run.bat,編譯BAK.java並執行(注意需設置Windows環境變量指向jdk的bin目錄,在cmd下敲入命令"java"能找到這個命令,以支持編譯和執行BAK.Java

  javac -deprecation BAK.Java

  Java BAK

  (3)通過Windows的任務計劃每天晚上定時調用run.bat進行數據庫備份,譬如每晚22:00

  (4)配合winzip軟件可實現數據庫的異機備份,定時將備份目錄壓縮至另一台機器的硬盤上(可映射成本地機器的網絡硬盤。)

  注意:db2 backup命令不支持將備份文件直接備份到網絡硬盤上,將提示無法識別盤符。可根據需求選擇離線備份或者在線備份。

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