环境 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
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
回滚到指定时间的日志,是看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 启用增量备份功能