官方参考地址:
http://www-01.ibm.com/support/knowledgecenter/#!/SSEPGG_10.1.0/com.ibm.db2.luw.qb.upgrade.doc/doc/c0007192.html
废话少说,直接说步骤:
1、升级前环境检查和前置任务
1> 操作系统支持检查
http://www-01.ibm.com/support/knowledgecenter/api/content/nl/zh-cn/SSEPGG_10.1.0/com.ibm.db2.luw.qb.server.doc/doc/r0025127.html
2> 检查db2实例下面有多少库,并记录下来:
db2 list db directory 3>停应用,查看及断开所有链接
db2 list application all
db2 force application all 4>备份所有数据库
db2 backup database testdb 5>保存数据库配置和实例信息
db2 get db cfg for testdb
db2 get dbm cfg 6>检查数据库的 SYSCATSPACE 和 TEMPSPACE1 表空间(有所db)
db2 connect to testdb
db2 list tablespaces
db2 list tablespace containers for 0 show detail (SYSCATSPACE及tmp) 7>针对所有库,修改日志参数,扩大为原来的两倍
db2 update db cfg for testdb using LOGPRIMARY 26
db2 update db cfg for testdb using LOGSECOND 8 8>查看是否还有分布式未确定事务
db2 list indoubt transactions
db2 terminate 如果有,则需要将该事务提交或者回滚掉。 9>环境检查,是否缺少包或者组件
cd server/db2/linuxamd64/bin
./db2prereqcheck -p -v 10.1.0.0 10>检查数据库是否可以升级
cd /server/db2/linuxamd64/utilities/db2ckupgrade/bin
./db2ckupgrade sample -l db2ckupgrade.log -u db2inst1 -p passwor 2、安装升级数据库v10.1软件 su - root ./db2setup ---> install new 最好在图形界面下执行 db2setup,省去很多麻烦。在安装过程中,可以选择不要创建实例。
3、升级实例
su - root
cd /home/ibm/db2/V10.1/instance
./db2iupgrade -u db2fenc1 db2inst1
4、升级DAS
su - root
cd $DB2DIR/instance/
./dasmigr
5、重命名或删除日志目录下所有文件 su - db2inst1 //db2 实例配置 db2 get dbm cfg |grep DIAGPATH 可以查看日志目录在哪
cd /home/db2inst1/sqllib/db2dump
mv db2diag.log db2diag.bak
.. 6、重新编目数据库
su - db2inst1
db2 CATALOG DB testdb as testdb10 7、升级数据库
su - db2inst1
db2 UPGRADE DATABASE testdb10 user db2inst1 using 123456 8、更新统计信息
su - db2inst1
db2 reorgchk update statistics on table system 9、对包做重绑定,记得对所有需要升级的数据库
db2 connect to testdb
db2 "CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(NULL, NULL, NULL)"
db2rbind database-name -l logfile all 10、升级执行计划相关的表
db2 connect to testdb
db2 "SELECT TABNAME FROM SYSCAT.TABLES WHERE TABNAME LIKE '%EXPLAIN%'"
db2exmig -d testdb -e pub 11、删除日志文件S*.MIG 可以通过 db2 get db cfg for testdb 得到日志文件路径。 12、备份数据库 db2 backup database testdb