Db2数据库的备份和恢复

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
状态,此时连接数据库将会提示

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

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

时间: 2024-08-25 05:35:04

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

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

Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁 一丶安装 pip install PyMySQL 二丶pymysql连接数据库 ### 语法: import pymysql # 导入py模块 conn= pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接 cursor.execute("SELECT VERSI

MySQL数据库-完全备份及恢复

MySQL数据库-完全备份及恢复 数据库备份的分类 物理角度: 冷备份:也称脱机备份,特点:关掉数据库再备份 热备份:也称联机备份,特点:开启数据库再备份 温备份:数据库只有可读权限的状态下备份 逻辑角度: 对数据库的对象的备份,例如数据表,及数据表中的一些sql语句等 备份策略角度: 完全备份:每次对数据进行整体的备份 差异备份:在第一次完整备份a数据后,以后的每次的备份是a+b,b就是针对于a数据发生变化的数据,称之为'差异数据'.缺点:b的数据内存会越来越大b+=b,导致数据恢复缓慢.恢复

超大数据库的备份和恢复问题:分区表、文件组备份、部分还原

原文:超大数据库的备份和恢复问题:分区表.文件组备份.部分还原 use master go alter database wc set single_user with rollback immediate drop database wc go --1.创建数据库 create database wc on primary ( name = wc_data, filename = 'D:\wc_data.mdf' ) log on ( name = wc_log1, filename = 'd

DB2数据库在线备份还原笔记

数据库在线增量备份    由于一般客户的生产系统数据量都很大,所以频繁的进行数据库或表空间的全量备份在空间存储上变得不可行.DB2 支持两种增量的备份,一种是增量备份(comulative backup),另一种是差异备份(deltabackup).总的说来,增量的备份(包括增量备份和差异备份),在其备份映像文件中只包含自上次进行备份以来有过更新的页,除更新的数据和索引页之外,每个增量备份映像还包含通常存储在完全备份映像中的初始数据库元数据(例如,数据库配置.表空间定义和数据库历史记录等).增量

MySQL数据库数据备份和恢复详解(上)

本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM和Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MySQL 支持的免费备份工具有:mysqldump.mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件.MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几

数据库的备份和恢复(学习笔记学习中)

--**********************数据泵技术------oracle 10G之后出现 --创建目录 create directory dump_dir as 'e:/backup'; --查询数据库所有有目录 select * from dba_directories; --删除数据库目录 drop directory dump_dir; drop directory dump_file; --创建表空间 create tablespace tbs_test datafile 'e

mysql数据库的备份和恢复

下面的命令都是在Ubuntu下面执行的,假如数据库的名称为test 第一步,备份数据库 mysqldump -u 用户名 -p 备份的数据库名>备份的文件的名称 回车,然后输入密码即可 例如备份一个数据库为test的,备份后的名称为test.sql mysqldump -u root -p test>/home/xywei/test.sql 回车输入密码,没出现提示的东西就表示备份成功了.备份的包括数据库表和表中的数据. 第二步,恢复数据库 首先得新建立一个数据库,比如说建立个数据库名称为te

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

pg_dump 用来备份数据库: pg_restore 用来恢复数据库: 备份出来的文件可以用 XZ (linux 自带的压缩工具压缩). XZ压缩最新压缩率之王 xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具. 之前xz使用一直很少,所以几乎没有什么提起. 我是在下载phpmyadmin的时候看到这种压缩格式的,phpmyadmin压缩包xz格式的居然比7z还要小,这引起我的兴趣. 最新一段时间会经常听到xz被采用的声音,像是最新的archlinux某些

netbackup 7.5.0.7 之oracle数据库的备份和恢复

Oracle数据库的数据结构 Oracle的文件系统主要分为四大部分: 1) 控制文件 2) 数据文件 3) 日志文件 4) 其他文件(如参数文件,密码文件等) 前三种文件系是Oracle文件系统的主要组成部分,一般在以下路径可以找到: $ORACLE_HOME$\oradata\orcl .CTL文件为控制文件 .DBF 文件为数据文件 .LOG 文件为日志文件 除了前三种文件还有一种参数文件,参数文件不是数据库系统中的有效组成部分,在启动数据库时,参数文件不直接参与工作,只是控制文件是由参数