#第一步:db2ckbkp -h TESTDB.0.db2itest.NODE0000.CATN0000.20140401030003.001
#能够得到的信息
Server Database Name -- TESTDB
Server Database Alias -- TESTDB
Client Database Alias -- TESTDB
Timestamp -- 20140401030003
Database Partition Number -- 0
Instance -- db2itest
Sequence Number -- 1
Release ID -- A00
Database Seed -- 99FD481A
DB Comment's Codepage (Volume) -- 0
DB Comment (Volume) --
DB Comment's Codepage (System) -- 0
DB Comment (System) --
Authentication Value -- 255
Backup Mode -- 1
Includes Logs -- 1
Compression -- 1
Backup Type -- 0
Backup Gran. -- 0
Status Flags -- 30
System Cats inc -- 1
Catalog Partition Number -- 0
DB Codeset -- GBK
DB Territory --
LogID -- 1395774014
LogPath -- /home/db2itest/lognew/NODE0000/
Backup Buffer Size -- 520192
Number of Sessions -- 1
Platform -- 14
说明:
1.Backup mode 0 -offline(脱机备份),1-online(联机备份)
2.Backup Type 0 -full(全备份),3-tablespace(表空间级备份)
3.Backup Gran 0 -normal(正常备份),16-incremental(增量备份) 48- delta(增量delta备份)
4.Includes Logs: 表示在线备份期间是否包含备份期间产生的数据库日志。0为否,1为是
5.Compression:是否启用备份压缩。0--表示没有启动,1-表示启用备份压缩。
#创建数据库
db2 "CREATE DATABASE targetdb USING CODESET gbk territory cn"
#执行如下的命令
db2set db2codepage=1386 -I db2itest
db2 terminate (此句很重要)
#/home/db2itest/db2itest/targetdb
#恢复数据库的脚本编写
rm /home/db2itest/dbbak/logs/*.LOG
db2 "force applications all"
db2 "connect to targetdb"
db2 "restore db TESTDB from '/home/db2itest/dbbak' taken at 20140401030003 into targetdb LOGTARGET '/home/db2itest/dbbak/logs' redirect without prompting"
db2 "set tablespace containers for 0 using (path '/home/db2itest/db2itest/targetdb/sys00')"
db2 "set tablespace containers for 1 using (path '/home/db2itest/db2itest/targetdb/sys01')"
db2 "set tablespace containers for 2 using (Device '/dev/rtestmiglv05' 5242880,Device '/dev/rtestmiglv06' 2326528,Device '/dev/rtestmiglv07' 2621440,Device '/dev/rtestmiglv08' 6291456)"
db2 "set tablespace containers for 3 using (device '/dev/rtestmiglv09' 524288)"
db2 "set tablespace containers for 4 using (path '/home/db2itest/db2itest/targetdb/sys02')"
db2 "set tablespace containers for 5 using (device '/dev/rtestmiglv10' 131072)"
db2 "set tablespace containers for 6 using (path '/home/db2itest/db2itest/targetdb/sys03')"
db2 "set tablespace containers for 7 using (path '/home/db2itest/db2itest/targetdb/sys04')"
db2 "set tablespace containers for 8 using (Device '/dev/rtestmiglv11' 16777000)"
db2 "set tablespace containers for 9 using (path '/home/db2itest/db2itest/targetdb/sys05')"
db2 "set tablespace containers for 10 using (path '/home/db2itest/db2itest/targetdb/sys06')"
db2 "set tablespace containers for 11 using (path '/home/db2itest/db2itest/targetdb/sys07')"
db2 "set tablespace containers for 12 using (path '/home/db2itest/db2itest/targetdb/sys08')"
db2 "set tablespace containers for 13 using (Device '/dev/rtestmiglv12' 16777215)"
db2 "restore database TESTDB continue"
db2 "rollforward db targetdb to end of logs and complete overflow log path ('/home/db2itest/dbbak/logs')"
#表空间报错的解决办法
SQL0299N Container is already assigned to the table space. SQLSTATE=42731
#裸设备执行如下命令
db2untag -f /dev/rtestmiglv05
db2untag -f /dev/rtestmiglv06
db2untag -f /dev/rtestmiglv07
db2untag -f /dev/rtestmiglv08
#文件系统则需要必须到指定的目录把tag的文件删除掉
比如/home/db2itest/db2itest/oldcms/sys06下面的SQLTAG.NAM