风影子
作者风影子·2013-01-30 12:06
数据库管理员·深圳

第一次进行DB2备份及恢复

字数 1016阅读 3894评论 12赞 2
      某二级企业一系统运行很慢,同事在公司需要搭建一个DB2测试环境,并把现场数据导入进行测试以定位问题,于是找到我。数据库是DB2 8.1,操作系统是SUSE Linux 9,因为没有 linux 8.1 for linux的软件,只好考虑在windows上搭建测试环境。

      之前对DB2基本不了解,只是以前写程序时曾有个项目使用过,因此DB2备份恢复这块都需要找资料研究一下。看了一下现有的备份脚本是用backup命令做的数据库全备,每天一次,考虑到是不同平台的恢复,所以没打算研究这个数据库级别的恢复。于是又查了些资料终于算是顺利解决了。

      1) 源数据库
db2look -d ftdb -e -o dbinstructure.ddl
这里是将数据库ftdb的ddl语法

2) 源数据库导出表
db2move ftdb export
请检查是否有错误信息,确保所有表都是成功的
这里是导出ftdb数据库中表的数据,就在这里我折腾了好久,db2move.lst这里记录了导出的列表对应关系,在恢复时总发现只恢复了极少数的表,最后才发现db2move.lst这里的列表少了,最后按下面这个文章的操作加了个-aw参数就解决了
http://www.db2china.net/home/space.php?uid=36097&do=blog&id=13602

3) 新数据库
db2 create db ftdb

db2icrt ftinst
set db2instance=ftinst
db2set db2instance
4) 新数据库,创建空表
db2 -stvf dbinstructure.ddl > output
检查运行情况,如果有错误,db2会停止继续执行,排除错误,然后drop新数据库,从第三步重新开始建立一个新的数据库,然后重新运行第四步,确保没有任何错误

5) 新数据库倒入表
db2move ftdb load -lo insert
检查提示,确保所有表都是导入成功的

6)查出所有被挂成的表,
每个被挂起的表执行:set integrity for db2inst1.JIVETHREADPROP immediate checked
这一步不理解,我做个数据恢复,为什么表还会被挂起呢,也懒得去研究了。


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论12 条评论

ss33205687ss33205687数据库管理员西安
2013-04-22 16:08
DB 不懂
roman1985roman1985软件开发工程师北明软件
2013-03-24 17:44
是个好资料啊,不错
浪子浪子系统架构师福州赢科
2013-02-25 21:28
数据库一直我的软肋,请问有好的学习方法吗?
爱如潮水爱如潮水研发工程师四川农信
2013-02-17 15:40
“表还会被挂起……"应该是move方式导入数据后,系统要求约束等一致性检查。如果是利用传统的backup/restore方式,就没有这些问题了。推荐还是利用后者+备份软件来完成数据库的备份。
kt563kt563数据库管理员交行卡中心
2013-02-06 16:09
俺的db2测试环境从AIX迁移到LINUX,也是用的db2move,两步比较关键,export 和load。
风影子风影子数据库管理员深圳
2013-02-03 17:38
myguangzhou: 你们怎么都喜欢用脚本来备份呢,还喜欢存在生产硬盘上。。。所有鸡蛋都放在同一个篮子里,安全大忌啊
都小系统,没买备份软件,只是每天将备份定时同步到异地服务器。
myguangzhoumyguangzhou技术经理Uniwise
2013-02-03 11:30
你们怎么都喜欢用脚本来备份呢,还喜欢存在生产硬盘上。。。所有鸡蛋都放在同一个篮子里,安全大忌啊
hantao1999hantao1999系统集成商/VAR 顾问上海熙菱信息技术有限公司
2013-02-01 15:28
摸索着进步着
pxr59pxr59系统工程师IBM
2013-02-01 13:59
学习了。
drjonesdrjones软件开发工程师江中集团
2013-02-01 10:52
汇总上面的好案例学习了
nitianfengnitianfeng系统运维工程师陕西网联未来科技有限公司
2013-01-31 14:13
学习了
aixclubaixclub网站运营经理TWT
2013-01-31 11:45
好案例
Ctrl+Enter 发表

作者其他文章

X社区推广