DB2数据库升级 V9.7.0.7 to V9.7.0.10

需求

原库版本为DB2 V9.7.0.7,为解决该版本相关功能bug问题,需升级至DB2 V9.7.0.10,本次方案通过完整安装包方式迁移升级

准备阶段

安装V9.7.0.10版本数据库

使用root用户登录服务器,在主备机上安装V97P10版本数据库
检查系统是否满足特定 DB2 版本的先决条件

tar -xvf v9.7fp10_aix64_server.tar
cd /home/cfcinst1/server/server
./db2prereqcheck -p -v 9.7.0.10

使用静默安装方式安装数据库(root用户)

./db2_install-->选择默认路径(YES)--> 选择ESE--> 确定安装(YES)
#若默认路径与当前数据库安装路径一致,则需要改变默认路径

Do you want to install the DB2 pureScale Feature? [yes/no] NO
#升级10.5需要,9.7版本无此步骤

迁移前验证

以实例用户登录执行:(db2ckupgrade 成功后,可以迁移数据库)

db2ckupgrade ASDB -e -l /tmp/DBMigrations/db2ckmig.log
#小版本升级可跳过此步骤,大版本升级需要执行

### 信息收集

收集数据库相关参数信息

cd  /tmp/DBMigrations/ASDB
db2support -d  ASDB -c -s –f
cp /etc/services /etc/services.bak
cp ./sqllib/db2nodes.cfg ./sqllib/db2nodes_bak.cfg
db2 get dbm cfg >  /tmp/DBMigrations/ASDB/db2dbm.cfg
db2 get db cfg for ASDB >  /tmp/DBMigrations/ASDB/db.cfg
db2set -all >  /tmp/DBMigrations/ASDB/db2set.cfg
set | grep DB2 >  /tmp/DBMigrations/ASDB/env_instname.txt
db2look -d ASDB -a -e -l -x -o  /tmp/DBMigrations/ASDB/db2look.ddl
db2 LIST PACKAGES FOR ALL SHOW DETAIL >  /tmp/DBMigrations/ASDB/pckg.txt

备份数据库实例目录(使用root用户)

cp -pr /home/db2inst1/sqllib /home/db2inst1/sqllib_bak
#目录较大时可只备份除db2dump之外的目录

备份数据库

db2 backup db ASDB to /db2databkup/ASDBBKUP compress

升级阶段

停止 DB2实例(实例用户)

# 断开所有连接
db2 force application all
db2 terminate

# 停止数据库
db2stop

迁移实例

通过运行db2iupdt命令来迁移实例(root用户)

/opt/IBM/db2/V9.7.10/instance/db2iupdt db2inst1(实例用户)
#小版本升级使用db2iupdt,大版本升级使用db2iupgrade

安装DB2 V9.7.0.10版本数据库许可证(实例用户)

# 安装数据库许可
db2licm -a db2ese_lic

# 查看许可信息
db2licm -l

启动数据库并进行数据库迁移(实例用户)

# 启动实例并升级
db2start
db2 upgrade database ASDB

# 可能会出现bufferpool找不到的现象
# 原因为bufferpool页过大,#实例没有足够内存分配导致
# 调大实例内存或调小bufferpool,然后使用root用户更新实例即可

数据库中重新绑定程序包(两台机器都需要执行)(实例用户)

重新绑定数据库SCHEMA.BND\UBIND.LST\CLI.LST

db2 terminate
db2 connect to ASDB
db2 bind ./sqllib/bnd/db2schema.bnd blocking all grant public SQLERROR continue
db2 bind ./sqllib/bnd/@db2ubind.lst blocking all grant public action add
db2 bind ./sqllib/bnd/@db2cli.lst blocking all grant public action add
db2 terminate

在数据库中通过运行 db2rbind 命令来重新绑定所有无效程序包
实例用户执行:

# 重新绑定程序包
db2rbind ASDB -l logfile all

数据库验证(实例用户)

对数据库进行增删改查等操作进行验证

db2 connect to dbname
db2 "create table tbl_name(id int,name varchar(20))"
db2 "insert into tbl_name values(1,'ztm')"
db2 "select * from tbl_name"
db2 "delete from tbl_name"
db2 "select * from tbl_name"
db2 "drop table tbl_name"
db2 "truncate table tbl_name immediate"
db2 "load from tbl_name.del of del insert into tbl_name "
db2 "select count(*) from tbl_name"

回退方案

删除所有V9.7.0.10版本的数据库(实例用户)

# 断开所有连接并删除数据库
db2 force application all
db2 drop db ASDB

停止实例(实例用户)

db2stop force

删除实例V9.7.0.10(root用户)

/opt/IBM/db2/V9.7.10/instance/db2idrop db2inst1(实例用户)

创建实例V9.7(root用户)

/opt/IBM/db2/V9.7/instance/db2icrt -u db2fenc1 db2inst1(实例用户)

恢复数据库

设置注册表参数和实例参数(实例用户)

db2set DB2COMM=TCPIP
db2set DB2_SKIPINSERTED=on
db2set DB2_EVALUNCOMMITTED=on
db2set DB2_FMP_COMM_HEAPSZ=80000
db2set DB2_SKIPDELETED=on
db2set DB2LOADREC=NORECEVERABLE
db2set DB2CODEPAGE=1386
db2set DB2FMCOMM=TCPIP4
db2set DB2SYSTEM=asdb01
db2set DB2INSTEDF=db2inst1
db2set DB2ADMINSERVER=dasusr1
db2 update dbm cfg using SVCENAME 50000

节点配置文件(root用户)

# 恢复为单节点配置
vi /home/db2inst1/sqllib/db2nodes.cfg
   0 asdb01 0

启动数据库(实例用户)

# 启动实例并恢复数据库备份
db2start
db2 restore db ASDB from /db2databkup/ASDBBKUP taken at <Time_Stamp> without prompting"

若需要前滚,执行如下命令(实例用户)
将所有分区日志都拷贝到同一个目录

db2 "rollforward db ASDB to end of backup and stop overflow log path(/db2databkup/logbak) "

数据库验证(实例用户)

对数据库进行增删改查等操作进行验证

db2 "create table tbl_name(id int,name varchar(20))"
db2 "insert into tbl_name values(1,'ztm')"	
db2 "select * from tbl_name"
db2 "delete from tbl_name"
db2 "select * from tbl_name"
db2 "drop table tbl_name"
db2 "truncate table tbl_name"
db2 "load from tbl_name.del of del insert into tbl_name"
db2 "select count(*) from tbl_name"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大富大贵猪头三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值