官方参考地址:
http://www-01.ibm.com/support/knowledgecenter/#!/SSEPGG_10.1.0/com.ibm.db2.luw.qb.upgrade.doc/doc/c0007192.html
废话少说,直接说步骤:
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.html2> 检查db2实例下面有多少库,并记录下来:
db2 list db directory3>停应用,查看及断开所有链接
db2 list application all db2 force application all4>备份所有数据库
db2 backup database testdb5>保存数据库配置和实例信息
db2 get db cfg for testdb db2 get dbm cfg6>检查数据库的 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 88>查看是否还有分布式未确定事务
db2 list indoubt transactions db2 terminate如果有,则需要将该事务提交或者回滚掉。 9>环境检查,是否缺少包或者组件
cd server/db2/linuxamd64/bin ./db2prereqcheck -p -v 10.1.0.010>检查数据库是否可以升级
cd /server/db2/linuxamd64/utilities/db2ckupgrade/bin ./db2ckupgrade sample -l db2ckupgrade.log -u db2inst1 -p passwor2、安装升级数据库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 testdb107、升级数据库
su - db2inst1 db2 UPGRADE DATABASE testdb10 user db2inst1 using 1234568、更新统计信息
su - db2inst1 db2 reorgchk update statistics on table system9、对包做重绑定,记得对所有需要升级的数据库
db2 connect to testdb db2 "CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(NULL, NULL, NULL)" db2rbind database-name -l logfile all10、升级执行计划相关的表
db2 connect to testdb db2 "SELECT TABNAME FROM SYSCAT.TABLES WHERE TABNAME LIKE '%EXPLAIN%'" db2exmig -d testdb -e pub11、删除日志文件S*.MIG 可以通过 db2 get db cfg for testdb 得到日志文件路径。 12、备份数据库 db2 backup database testdb