DB2数据库备份与恢复

1.    备份

1.1离线备份(必须在数据库所在PC机进行操作)

STEP 1 连接到要备份的数据库

C:\Documents and Settings\Administrator>db2 connect to ncc user nccwykpi using nccwykpi

STEP 2 显示数据库应用状态

C:\Documents and Settings\Administrator>db2 list applications

STEP 3 停掉数据库应用

C:\Documents and Settings\Administrator>db2 force applications all

注意:由于该命令是异步的,所以在进行备份的时候会出现以下错误信息。此时可以再次执行db2 force applications all 命令。

STEP 4 对数据库进行离线状态下的备份

C:\Documents and Settings\Administrator>db2 backup database ncc to d:\db2\backup

注意:指定的备份文件的输出目录必须是已创建的,否则会报错。

STEP 5 查看备份历史记录

C:\Documents and Settings\Administrator>db2 list history backup all for ncc

1.2在线备份

注意:如果要做在线的备份,要对两个参数作修改:USEREXIT和LOGRETAIN,将其修改为on,默认是off的,默认使用日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档。

STEP 1 查看数据库当前的属性

C:\Documents and Settings\Administrator>db2 get db cfg

STEP 2 设置userexit、logretain参数的状态为on

C:\Documents and Settings\Administrator>db2 update db cfg for ncc using userexit on

C:\Documents and Settings\Administrator>db2 update db cfg for ncc using logretain on

注意:修改配置参数必须是数据库管理员,并且必须停掉全部应用后更改才会生效。

STEP 3 连接需要备份的数据库(注意)

注意:此时由于数据库处于backup pending状态,所以必须做一次离线的全备才可以进行数据库连接。

STEP 4 对数据库进行在线状态下的备份

C:\Documents and Settings\Administrator>db2 backup database ncc online to d:\db2\backup


1.3增量备份

注意:必须要修改trackmod为on状态,并有一次完全备份。

STEP 1 修改trackmod参数为on状态

C:\Documents
and Settings\Administrator>db2 update db cfg for ncc
using trackmod yes

STEP 2 停掉数据库应用

C:\Documents
and Settings\Administrator>db2 force applications
all

STEP 3 对数据库进行增量备份

C:\Documents
and Settings\Administrator>db2 backup database ncc online increment

al
delta to d:\db2\backup

 

注意:在进行增量备份之前需要做一次离线的全备。否则是backup pending状态的。 

如若此时并未执行一次离线的全备那么会出现下面的错误。

故:


2.   
恢复

2.1恢复完全备份

STEP 1 查看备份历史记录

C:\Documents
and Settings\Administrator>db2 list history backup
all for ncc

STEP 2 停掉数据库应用

C:\Documents
and Settings\Administrator>db2 force applications
all

STEP 3 恢复某个时间点的数据

C:\Documents
and Settings\Administrator>db2 restore database ncc
from d:\db2\backup taken at 20120206094204

STEP 4 回滚到日志结束(可不执行,即不恢复日志)

C:\Documents
and Settings\Administrator>db2 rollforward database
ncc to end of logs and stop


2.2恢复增量备份

STEP 1 连接数据库

C:\Documents
and Settings\Administrator>db2 connect to ncc user
nccwykpi using nccwykpi

STEP 2 显示数据库应用状态

C:\Documents
and Settings\Administrator>db2 list applications

STEP 3 停掉数据库应用

C:\Documents
and Settings\Administrator>db2 force applications
all

STEP 4 恢复增量备份

C:\Documents
and Settings\Administrator>db2 restore database ncc
incremental automatic from d:\db2\backup taken at 20120206133457

STEP 5 回滚到日志结束(可不执行,即不恢复日志)

C:\Documents
and Settings\Administrator>db2 rollforward database
ncc to end of logs and stop


3.   
检查备份完整性

当备份完成后,使用db2ckbkp命令不仅可以用来检查DB2数据库备份文件的完整性,而且还可以用来查询DB2数据库备份文件的元数据。同时可以使用db2ckbkp –h<备份文件>来检查DB2数据库备份的类型。

3.1使用db2ckbkp –h<备份文件>命令来查看DB2数据库备份的类型

C:\Documents
and Settings\Administrator>db2ckbkp -h
d:\db2\backup\NCC.0.DB2.NODE0000.CATN0000.20120206133232.001

注意:我们可以通过上述输出中的

来确定备份的类型。三个关键字的说明如下:

incremental和delta的说明如下:

3.2回滚日志

当回滚日志找不到日志文件而出错时,数据库处于roll-forward pending状态,此时不能连接或激活数据库。解决方案如下:

3.3数据库恢复

如果一个数据库启用了归档日志记录,那么当该数据库被恢复时,它将自动被置于rollforward
pending
状态。可以使用如下命令告诉DB2不要将该数据库置于rollforward
pending
状态。

 

C:\Documents
and Settings\Administrator>restore database ncc from
d:\db2\backup taken at 20120206151346 without
rolling forward

 

 

如果数据库启用了归档日志记录,处于rollforward
pending
状态,此时连接数据库将会提示

此时可使用如下命令使数据库状态恢复正常

此时再执行连接数据库即可连接成功。

Db2数据库的备份和恢复的更多相关文章

  1. 一、MySQL中的索引 二、MySQL中的函数 三、MySQL数据库的备份和恢复 四、数据库设计和优化(重点)

    一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放 ...

  2. Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁

    Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁 一丶安装 pip install PyMySQL 二丶pymysql连接数据库 ### 语法: ...

  3. SQL数据库的备份和恢复

    SQL数据库的备份和恢复 一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studi ...

  4. mysql数据库的备份和恢复

    Mysql数据库的备份和恢复 1.备份单个数据库 mysql数据库自带了一个很好用的备份命令,就是mysqldump,它的基本使用如下: 语法:mysqldump –u <用户名> -p ...

  5. db2数据库的备份与还原

    前言: 数据备份的重要性: 提高系统的高可用性和灾难可恢复性:(在数据库系统崩溃的时候,没有数据库备份怎么办!) 使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案:(总不能让客 ...

  6. postgresql 数据库的备份和恢复 (pg_dump 和 pg_restore)

    pg_dump 用来备份数据库: pg_restore 用来恢复数据库: 备份出来的文件可以用 XZ (linux 自带的压缩工具压缩). XZ压缩最新压缩率之王 xz这个压缩可能很多都很陌生,不过您 ...

  7. TimesTen数据库的备份和恢复

    建立不支持增量备份的全备份 做一个全备份,fileFull为不支持增量的全备份 $ ttbackup -type fileFull -dir /tmp/backupdir sampledb_1122( ...

  8. Linux系统下MySQL数据库的备份和恢复

    当我们MySQL数据库保存重要数据的时候,备份工作极为重要.本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据库中的数据备份成一个文本文件,也可将备份好的数据库迁移到另一台的服务 ...

  9. MongoDB数据库的备份和恢复

    MongoDB数据库备份方式: 1.整库备份 2.单表备份 1.整库备份 备份整个数据库: mongodump -h 127.0.0.1:27000 -d park --authenticationD ...

随机推荐

  1. ACM: SCU 4438 Censor - KMP

     SCU 4438 Censor Time Limit:0MS     Memory Limit:0KB     64bit IO Format:%lld & %llu  Practice D ...

  2. Tornado学习笔记12 tornado.httpserver-.非阻塞的Http服务器

    是一个非阻塞的,单线程的Http 服务器. 一般地,应用程序很少与HttpServer类直接交互,除非在进程开始时启动服务时(甚至在使用tornado.web.Applicaiton.listen时也 ...

  3. /usr文件系统

    /usr文件系统  /usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution:本地安装的程序和其他东西在/usr/local 下.这样可 ...

  4. js 闭包之一

    既然说闭包的化,我们就先来说说函数.慢慢的进入进入正题 (1)函数申明 f1(); function f1(){ alert(") }//结果 1 (2)函数定义 f1();var f1=f ...

  5. ZeroMQ接口函数之 :zmq_inproc – ØMQ 本地进程内(线程间)传输方式

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...

  6. BICEP单元测试——随机四则运算升级版

    一.测试方法 6个值得测试的具体部位: Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制错误条件发生? ...

  7. win7 64 安装mysql-python:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    今天想在在win7 64位环境下使用python 操作mysql 在安装MySQL-python 时报错: _mysql.c _mysql.c(42) : fatal error C1083: Can ...

  8. MySQL支持的数据类型(1)( 整数,小点,位)

      整数类型 字节 最小值 最大值 tinyint 1 有符号-128 无符号0 有符号127 无符号255 smallint 2 有符号-32768 无符号0 有符号32767 无符号65535 m ...

  9. *HDU2852 树状数组(求第K小的数)

    KiKi's K-Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  10. java类,接口浅谈

    一般类,抽象类,接口的使用场景: 类;共同的特征和行为的抽取和封装 接口:标准,规范(功能的扩展)         需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口   内部类: ...