DB2数据库自动备份方法

日期: 2010-01-13 作者:xiedd 来源:TechTarget中国 英文

  步骤如下:

  (1) 编写BAK.java,代码如下:(一周内周六完备、其他日期增量备份)

  import java.util.Date;

  public class BAK {

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

  Runtime runtime = Runtime.getRuntime();

  //断开数据库连接

  Process proc = runtime.exec(“db2cmd /c db2 force application all”);

  //只保留一天的备份

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

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

  //—————————————————————

  //暂停n秒

  Thread.currentThread().sleep(5000);

  //关闭上述进程

  //proc.destroy();

  //————————————–

  //暂停n秒,等待数据库连接断开

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

  //备份

  //proc = runtime.exec(“db2cmd db2 backup db DATACTR”);

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

  //proc.destroy();

  //————————————–

  Date date = new Date();

  int dayOfTheWeek = date.getDay();

  if (dayOfTheWeek != 6){

  //不是周六,进行增量备份

  // proc = runtime.exec(“db2cmd db2 backup db yndc incremental”);

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

  }

  else{

  //是周六,进行完全备份

  proc = runtime.exec(“db2cmd /c db2 backup db yndc”);

  }

  //proc = runtime.exec(“db2cmd db2 backup db gather”);

  proc = runtime.exec(“db2cmd /c db2 backup db codebase”);

  proc = runtime.exec(“db2cmd /c db2 backup db rone”);

  //proc = runtime.exec(“db2cmd db2 backup db datactr”);

  //暂停5秒

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

  //proc.destroy();

  //————————————–

  //restart db2

  //proc = runtime.exec(“db2start”);

  //暂停5秒

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

  //proc.destroy();

  //————————————–

  runtime.exit(0);

  }

  }

  (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命令不支持将备份文件直接备份到网络硬盘上,将提示无法识别盘符。可根据需求选择离线备份或者在线备份。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

xiedd
xiedd

相关推荐