db2数据库自动备份方法

原创 2006年06月09日 13:39:00
步骤如下:
(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命令不支持将备份文件直接备份到网络硬盘上,将提示无法识别盘符
可根据需求选择离线备份或者在线备份。

db2 自动备份(linux 、windows)总结

1.linux  db2 自动备份,备份后压缩,拷贝到另一服务器 全备份: #!/bin/sh #------------------------------------- #db2自...

DB2的备份(backup)和恢复(RESTORE)数据库方法

一、备份(backup)数据库 1、离线全备份 1)、首先确保没有用户使用DB2: db2 list applications for db sample 2)、停掉数据库并重新...

DB2的备份和恢复(RESTORE)数据库方法

1、离线全备份 1)、首先确保没有用户使用DB2: db2 list applications for db sample 2)、停掉数据库并重新启动,以便断掉所有连接: db2stop fo...

DB2的备份(backup)和恢复(RESTORE)数据库方法

一、备份(backup)数据库 1、离线全备份 1)、首先确保没有用户使用DB2:  db2 list applications for db sample  2)、停掉数据库并重新启...
  • zwhfyy
  • zwhfyy
  • 2014年06月06日 10:59
  • 12861

DB2的备份(backup)和恢复(RESTORE)数据库方法

一、备份(backup)数据库 1、离线全备份 1)、首先确保没有用户使用DB2: db2 listapplications for db sample 2)、停掉数据库并重新启动,以便断掉所有...
  • hyy_217
  • hyy_217
  • 2017年05月09日 22:12
  • 174

数据库db2及Oracle的自动备份

  • 2017年12月06日 14:14
  • 498KB
  • 下载

DB2数据库的建库备份和恢复

Db2环境下建库步骤如下: 1. su  db2inst 【这是进入Linux的DB2用户资源下】 2. db2 进入db2命令行模式; 3. create database pb_db o...

DB2 数据库在线备份和恢复的操作步骤

1、数据库在线备份操作命令如下: DB2 backup db 数据库名 online to 备份路径 例如:db2 backup db tony online to /home/...

带你深入了解IBM DB2数据库的备份与恢复

本文深入讲解了基于DB2数据库的各种备份与恢复策略,通过文中具体示例,读者可以很快的掌握DB2数据库的备份与恢复技术。 (注:以下数据库备份与恢复的试验环境均为 Windows XP + IBM...
  • pianzif
  • pianzif
  • 2014年04月27日 15:52
  • 504

DB2备份+日志恢复并前滚数据库

db2 rollforward 命令时读取日志的顺序 数据库备份恢复的一点总结
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:db2数据库自动备份方法
举报原因:
原因补充:

(最多只允许输入30个字)