以下的文章主要向大家描述的是DB2 备份与跨平台迁移的正确操作步骤,如果你对DB2 备份与跨平台迁移的正确操作步骤心存好奇的话,以下的文章将会揭开它的神秘面纱,以下就是文章的详细内容介绍,望大家借鉴。
数据库, 备份, DB2, 迁移跨平台, 迁移
首先设置归档参数
Java代码
- 1. db2 update db cfg for using mirrorlogpath /home/db2inst1/mirror_log/ //mirror log
- 2. db2 get db cfg for //确认是否成功
- 3. db2 update db cfg for using userexit on //启用用户出口
- 4. db2 update db cfg for using logretain on //启用归档日志
- 5. db2 update db cfg for using trackmod on //启用增量备份功能
- 6. db2stop force
- 7. db2start
- 8. db2 backup db to /home/db2inst1/off_back //
- db2 update db cfg for using mirrorlogpath /home/db2inst1/mirror_log/ //mirror log
- db2 get db cfg for //确认是否成功
- db2 update db cfg for using userexit on //启用用户出口
- db2 update db cfg for using logretain on //启用归档日志
- db2 update db cfg for using trackmod on //启用增量备份功能
- db2stop force
- db2start
- db2 backup db to /home/db2inst1/off_back //
DB2 备份在线数据库
Java代码
- 1. db2 backup db online to /home/db2inst1/on_back/ //在线备份
- 2. db2 backup db online incremental to /home/db2inst1/on_back/ //在线做增量备份
- 3. db2 list history backup all for //查看备份记录
- 4. db2 get db cfg for //查看log所在位置,cp到一个安全目录,供rollforward使用。
- 5. db2stop force;db2start;db2 drop db //手工drop数据库,模拟灾难恢复的情况
- db2 backup db online to /home/db2inst1/on_back/ //在线备份
- db2 backup db online incremental to /home/db2inst1/on_back/ //在线做增量备份
- db2 list history backup all for //查看备份记录
- db2 get db cfg for //查看log所在位置,cp到一个安全目录,供rollforward使用。
- db2stop force;db2start;db2 drop db //手工drop数据库,模拟灾难恢复的情况
恢复在线数据库
Db2代码
- 1. db2ckrst -d -t 20070608032820 -r database //帮助工具提示恢复
- 2. db2 restore db incremental from /home/db2inst1/on_back taken at 20070608032820 //恢复数据文件
- 3. 先恢复完全备份,然后在恢复增量备份,不能自动寻找完全备份文件。
- 4. db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滚日志有一点不认同:“先恢复完全备份,然后在恢复增量备份”
- 5. 对于增量恢复,你的做法正好反了,你这样做的话,会收到SQL2574N的错误信息。
- 6. 在db2ckrst里面已经清楚的告诉你恢复的顺序。
- 7. 下面是测试备份镜像中包日志的备份和恢复的步骤:
- 8. 注:/home/db2inst1/on_back/ #为备份文件位置
- 9. /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。
- 10. db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。
- 11. db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件
- 12. db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件
- 13. db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET
/home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件
- 14. db2 rollforward database to end of logs and complete //回滚log日志
- 15. 在“10”中已把数据库drop了,“20”中如何做online backup呢?
- 16. 注:/home/db2inst1/on_back/ #为备份文件位置
- 17. /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。
- 18. db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件
- 19. db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件
- 20. db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。
- 21. db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET
/home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件
- 22. db2 rollforward database to end of logs and complete //回滚log日志
- db2ckrst -d -t 20070608032820 -r database //帮助工具提示恢复
- db2 restore db incremental from /home/db2inst1/on_back taken at 20070608032820 //恢复数据文件
- 先恢复完全备份,然后在恢复增量备份,不能自动寻找完全备份文件。
- db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滚日志有一点不认同:“先恢复完全备份,然后在恢复增量备份”
- 对于增量恢复,你的做法正好反了,你这样做的话,会收到SQL2574N的错误信息。
- 在db2ckrst里面已经清楚的告诉你恢复的顺序。
- 下面是测试备份镜像中包日志的备份和恢复的步骤:
- 注:/home/db2inst1/on_back/ #为备份文件位置
- /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。
- db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。
- db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件
- db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件
- db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET
/home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件
- db2 rollforward database to end of logs and complete //回滚log日志
- 在“10”中已把数据库drop了,“20”中如何做online backup呢?
- 注:/home/db2inst1/on_back/ #为备份文件位置
- /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。
- db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件
- db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件
- db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。
- db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET
/home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件
- db2 rollforward database to end of logs and complete //回滚log日志
以上为DB2备份方式
以下介绍一下跨平台迁移DB2
源数据库AIX平台+DB2 目标平台LINUX
首先在源库导出库结构。
Db2代码
- 1. db2look -d dbname -e -o db2look.sql
- db2look -d dbname -e -o db2look.sql
然后导出源数据库DB2数据
Db2代码
- 1. db2move dbname export –u user –p password
- db2move dbname export –u user –p password
其中db2move.lst记录所有导出的文件,可以进行编辑从而决定导入哪些数据表
然后在目标linux主机上建立DB2的新库,导入结构及数据、
Db2代码
- 1. db2 -tvf db2look.sql
- 2. db2move dbname import
以上的相关内容就是对DB2 备份及跨平台迁移的介绍,望你能有所收获。
【编辑推荐】