0
点赞
收藏
分享

微信扫一扫

DB2数据库升级方案

Mhhao 2022-02-09 阅读 36

需求

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

准备阶段

安装DB2 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版本数据库许可证(实例用户)

实例用户:

$ cd /home/cfcinst1/$ 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 条评论