DB2 V11.1版本 HA架构升级方案

适用场景:A、B为HA架构,数据库数据目录为共享存储方式。
1.备份数据库
使用NBU发起对数据库全备:NBU server端发起全量备份,全量备份时间和升级时间差<1天

https://www.cndba.cn/hbhe0316/article/4852
db2pd -util
db2 list utilities show detail

2.备份配置https://www.cndba.cn/hbhe0316/article/4852

mkdir -p  /yunwei/Release/db/$(date +%Y%m%d)
db2 get dbm cfg >  /yunwei/Release/db/$(date +%Y%m%d)/db2dbm.cfg
db2 get db cfg for <DBNAME> >  /yunwei/Release/db/$(date +%Y%m%d)/<DBNAME>.cfg
db2set -all >  /yunwei/Release/db/$(date +%Y%m%d)/db2set.cfg
db2look -d <DBNAME> -a -e -l -x -ct -o  /yunwei/Release/db/$(date +%Y%m%d)/db2look.ddl
db2 connect to <DBNAME>
db2 LIST PACKAGES FOR ALL  SHOW DETAIL >  /yunwei/Release/db/$(date +%Y%m%d)/pckg.txt

··································升级B机····································
3.停止数据库

db2 deactivate db <dbname>
db2stop force
检查DB2进程是否存在
ps -ef | grep -i db2

4.停止监视器https://www.cndba.cn/hbhe0316/article/4852

禁止故障检查器(Fault Monitor):
/opt/<ibm/IBM>/db2/V11.1/bin/db2fm -i <DB2 instance name> -D
如果无法停止Fault Monitor,需要执行以下命令:
/opt/<ibm/IBM>/db2/V11.1/bin/db2fmcu -d
验证没有db2的进程存在:
ps -ef |grep -i db2
如果仍然无法停止请
kill -9  <kill_id>
建议该步骤反复执行几次看是否会自动重启
验证没有db2的进程存在:
ps -ef | grep db2

5.备份实例目录

cp -pr /home/<实例名>/sqllib /home/<实例名>/sqllib_bak

6.升级软件

cd /tmp/db2_fix   #以实际目录为准
./installFixPack -b /opt/<ibm/IBM>/db2/V11.1
Do you want to choose a different installation directory for the fix pack? [yes/no] 

------------------------------------------------------------------------------------
no

7.升级实例

/opt/<ibm/IBM>/db2/V11.1/instance/db2iupdt -u <DB2 Fence user name> <DB2 instance user name>
观察命令是否执行成功

··················停止应用·················
8.双机软件切换至B服务器
A切换到B

linux:
clusvcadm -r <资源组> -m <B机2号节点>
clustat           检查状态
ip addr           检查服务ip

如果是pcs软件:
pcs status          查看节点名称
pcs cluster standby <A节点名称>
检查服务IP是否漂移至B:pcs status

9.升级B库

检查HADR状态
db2updv111 -d <dbname>

10.验证

验证:
db2level
版本信息应为“DB2 v11.1.4.x”,查看版本是否为所升级的数据库版本。
检查DB2的db2diag.log的日志,查看是否有错误发生。 
如出现错误,查看/tmp目录更新版本日志,可重复升级产品和实例

11.绑定包https://www.cndba.cn/hbhe0316/article/4852

数据库中重新绑定程序包:
1.重新绑定数据库SCHEMA.BND/UBIND.LST/CLI.LST
db2 terminate
db2 connect  to <dbname>
db2 bind <DB2INSTANCEHOME>/sqllib/bnd/db2schema.bnd blocking all grant public SQLERROR continue
db2 bind <DB2INSTANCEHOME>/sqllib/bnd/@db2ubind.lst blocking all grant public action add
db2 bind <DB2INSTANCEHOME>/sqllib/bnd/@db2cli.lst blocking all grant public action add
db2 terminate
2.在数据库中通过运行 db2rbind 命令来重新绑定所有无效程序包:
db2rbind <dbname> -l /tmp/logfile all

db2 connect to <dbname>
db2 "select pkgschema,pkgname from syscat.packages where valid='X'" 
#如果以上命令有结果输出,再执行以下步骤:
db2 -x "select 'rebind package ' || trim(pkgschema) || '.' || trim(pkgname) || ';' from syscat.packages where valid='X'" > /yunwei/Release/db/$(date +%Y%m%d)/rebind.sql
db2 -tvf /yunwei/Release/db/$(date +%Y%m%d)/rebind.sql | tee  /yunwei/Release/db/$(date +%Y%m%d)/rebind.out
db2 "select pkgschema,pkgname from syscat.packages where valid='X'" 
#如果rbind package时报SQL2453。则执行:
db2 "call sysproc.admin_revalidate_db_objects(null,null,null)"
db2 "select pkgschema,pkgname from syscat.packages where valid='X'" 
#检查是否还有invalid 或inoperative package。

12.检查表空间

db2 connect to <dbname>
db2 list tablespaces show detail | grep -i state #必须全部是:0x00000000

13.检查表https://www.cndba.cn/hbhe0316/article/4852https://www.cndba.cn/hbhe0316/article/4852

db2 connect to <dbname>
db2 "select * from <tablename> fetch first 10 row only"

14.启动监视器

注册Fault Monitor:( root 用户 )
/opt/ibm/db2/V11.1/bin/db2fmcu -u -p /opt/ibm/db2/V11.1/bin/db2fmcd 
开启Fault Monitor:( 实例用户 )
su - <DB2 instance name>
/opt/ibm/db2/V11.1/bin/db2fm -i db2inst1 -U

15.更新JDBC驱动包https://www.cndba.cn/hbhe0316/article/4852

https://www.cndba.cn/hbhe0316/article/4852
将db2最新版本以后为保证应用驱动程序保持在同一版本需要进行替换驱动包,操作主要步骤:
1、备份应用中调用的原驱动包;
2、将/home/<instance>/sqllib/java/ 下的db2java.zip、db2jcc.jar、db2jcc_license_cu.jar、db2jcc4.jar替换应用原使用的驱动包。
3、登录WAS控制台-》资源-》JDBC-》数据源-》选择相应的数据源-》“点击测试连接
默认不替换驱动的原因:
1、多个数据源共用一套驱动程序,一经更新将影响所有应用程序连接数据库
提示:如果程序本身没有使用WAS数据源,请进行应用验证

······· 升级B机结束··············
······· 升级A机开始··············
16.禁止故障检查器(Fault Monitor):

/opt/<ibm/IBM>/db2/V11.1/bin/db2fm -i <DB2 instance name> -D
如果无法停止Fault Monitor,需要执行以下命令:
/opt/<ibm/IBM>/db2/V11.1/bin/db2fmcu -d
确保A机无db2进程
ps -ef | grep db2

17.备份实例目录

cp -pr /home/<实例名>/sqllib /home/<实例名>/sqllib_bak

18.升级软件

cd /tmp/db2_fix   #以实际目录为准
./installFixPack -b /opt/<ibm/IBM>/db2/V11.1
Do you want to choose a different installation directory for the fix pack? [yes/no] 

------------------------------------------------------------------------------------
no

19.升级实例

/opt/<ibm/IBM>/db2/V11.1/instance/db2iupdt -u <DB2 Fence user name> <DB2 instance user name>
观察命令是否执行成功

20.#验证:

db2level
#版本信息应为“DB2 v11.1.4.x”,查看版本是否为所升级的数据库版本。
#检查DB2的db2diag.log的日志,查看是否有错误发生。 
#如出现错误,查看/tmp目录更新版本日志,可重复升级产品和实例

···················升级A机结束··············
21.双机切换https://www.cndba.cn/hbhe0316/article/4852

B切换到A
linux:
clusvcadm -r <资源组> -m <A机1号节点>
clustat           检查状态
ip addr           检查服务ip

如果是pcs软件:
pcs status查看节点名称
pcs cluster unstandby [A节点名称]
pcs cluster standby [B节点名称]
pcs cluster unstandby [B节点名称]

22.查看数据库是否切换成功

查看数据库是否已经切至A机:
ps -ef | grep db2sysc
db2 list db directory

23.查看表空间状态

https://www.cndba.cn/hbhe0316/article/4852
db2pd -d <dbname> -tab查看表空间状态是否为0x00000000

24.启动监视器

注册Fault Monitor:( root 用户 )
/opt/ibm/db2/V11.1/bin/db2fmcu -u -p /opt/ibm/db2/V11.1/bin/db2fmcd 
开启Fault Monitor:( 实例用户 )
su - <DB2 instance name>
/opt/ibm/db2/V11.1/bin/db2fm -i db2inst1 -U

25.对表进行runstats

版权声明:本文为博主原创文章,未经博主允许不得转载。

DB2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值