环境 cenos 7.0

db2版本 db2_v101_linuxx64_expc.tar


 

安装db2

解压db2

tar zxvf db2_v101_linuxx64_expc.tar

cd expc

检查安装db2所需要的依赖是否都安装,没安装的补全

./db2prereqcheck        

yum install libstdc++.so.5

yum install libstdc++.so*

yum install libaio-0.3.105-2.x86_64.rpm
yum install compat-libstdc++-33-3.2.3-4.x86_64.rpm

补全后安装db2

./db2_install      默认路径安装

或者执行./db2setup 图形化界面安装(好处是自动建用户和组,但是要自定义安装,勾去中文包,因为这包是英文的,否则安装失败)

建立用户和组(必须建立,图形化安装的话,过程中已经建立)

[root@localhost adm]# groupadd -g 901 db2iadm1
[root@localhost adm]# groupadd -g 902 db2fadm1
[root@localhost adm]# groupadd -g 903 dasadm1


 

[root@localhost adm]# useradd -g db2iadm1 -u 111 -d  /home/db2inst1 -m  db2inst1
[root@localhost adm]# useradd -g db2fadm1 -u 112 -d  /home/db2fenc1 -m  db2fenc1
[root@localhost adm]# useradd -g dasadm1 -u 113 -d  /home/dasusr1 -m  dasusr1

别忘了给每个用户创建密码


 


 

创建实例和das实例


 

./db2icrt -p 50001 -u db2fenc1 db2inst1


 

./dascrt - dasusr1

数据库安装完成

安装db2的一个示例数据库

su - db2inst1 

db2start

db2sampl

创建数据库sample完成

进入db2

su - db2inst1 

db2

connect to sample                         //l连接到sample数据库

select * from staff where dept = 20   //查询语句

list tables                                          //列出所有表

describe table sysibm.systables       //查看系统表

connect reset                                   //连接重置

quit                                                   //退出

验证数据库完成

su -dasusr1

db2admin start                               //开启das

das我开启了,不过这个和备份没什么用。


 

开始备份操作

su - db2inst1 

db2start

db2

create database test 

create table student (id int,fname varchar(30),age int)

insert into student values (1,'Tom',22)

insert into student values (2,'Jack',21)

select * from student

quit

创建test数据库并创建了student表。

查看test配置

db2 get db cfg for test |grep log

db2 get db cfg for test |grep Log

db2 get db cfg for test |grep LOG

修改配置

db2 update db cfg for test using LOGARCHMETH1 disk:/home/db2inst1/db2inst1/test/archivelog/(必须)

db2 update db cfg for test using NEWLOGPATH /home/db2inst1/db2inst1/test/redolog/(良好的个人习惯)

(目录自己先建好)

db2 update db cfg for test using trackmod on

db2stop

db2start

执行增量、在线备份之前必须执行离线全备份一次,否则数据库将处于备份暂挂的不可用状态

db2 backup db test    离线备份 后面可以跟 to  然后指定备份的目录

准备工作完成后进行在线全备

db2 backup db test online

然后再进数据库对表进行修改

db2

connnect to test

insert into student values (3,'Sunrier',25)

quit

在student表进行了插入操作。

进行在线增量备份

db2 backup db test online incremental

db2 list history backup all for //查看备份记录


 

备份完成。

DB2 终止备份 db2全备份_数据库


 

上图是我的备份大一点的是在线全备,小一点的是增量备份

开始恢复数据库

先删数据库

db2

connect to test

drop database test

quit

删除完成

恢复

格式:db2 restore db TestDB from D:\backup taken at 20071121160548

db2 restore db test taken at 20140814082956

格式:db2 restore db TestDB incremental automatic from D:\backup taken at 20071121152922

db2 restore db test incremental automatic taken at 20140814083319    

回滚日志:

下面是回滚到最新的数据库

db2 ROLLFORWARD DATABASE test TO END OF LOGS and stop


 

查看sample的备份记录

db2 list history backup all for db sample

DB2 终止备份 db2全备份_DB2 终止备份_02


 

回滚到指定时间的日志,是看end time的时间。

db2 rollforward db test to 2014-08-14-19.06.20.000000 using local time and stop    (找了n多资料的结果,真相)

注:9.1的db2

 1)、首先打开一下支持在线备份的数据库配置参数: 

 db2 update db cfg for sample using userexit on 启用用户出口 

 db2 update db cfg for sample using logretain on 启用归档日志 

 db2 update db cfg for sample using trackmod on 启用增量备份功能