当前位置:文档之家› DB2数据库补丁安装步骤

DB2数据库补丁安装步骤

1.1补丁安装(可选)若DB2安装介质文件中已包含fix pack5版本的补丁,通常不用进行补丁安装。

但若是在原有版本之上打补丁,可以参考本节的内容。

DPF或者HADR或者PureScale环境中,需要在每台物理机器或者VM上安装DB2补丁包。

注意:对于DPF或者PureScale这边,没有什么特别注意的地方,也是按照同样的步骤安装、更新实例、启动、重新绑定程序包就可以了。

(PureScale是多个实例,一个DB,DPF是1个实例多个partition),就需要在每一台物理机器或者VM上执行相同的步骤安装补丁。

在启动实例之前需要确保所有机器上的补丁都在同一个补丁层次上。

1.1.1准备工作1.1.1.1解压缩补丁包将下载后的补丁包压缩文件上传到DB2数据库服务器的/tmp/db2v105目录下。

通过root用户登录DB2数据库服务器,具体步骤如下:1.1.1.2停止DB2实例进程1.作为 root 用户登录DB2数据库服务器。

2.确定与 DB2 副本相关联的所有实例。

发出以下命令:例,本节后续步骤不需要执行)。

注:/opt/ibm/db2/V10.5/bin/db2greg -dump也可查看各种版本下的所有实例。

3.对 DB2 副本中的每个实例运行下列命令:的停止步骤,停止每个存在的实例进程。

如果是 PowerHASystemMirror用户,那么必须使用 ha_db2stop 命令而不是 db2stop命令来停止 DB2。

如果使用 db2stop 命令而不是 ha_db2stop 命令,将触发故障事件。

1.1.1.3停止DB2管理服务器如果 DB2 管理服务器 (DAS) 属于要更新的 DB2 副本(如果服务器上没有安装DAS管理服务器,则跳过此步),请停止 DAS:首先确认是否安装了DAS:如果没有安装,将不会有输出结果显示停止DAS:注:由于系统上只能有一个 DAS,因此,这个步骤将影响系统上的所有其他 DB2 副本。

1.1.1.4卸载内存共享库在 AIX上,请在安装前运行 slibclean 以从内存中卸装未使用的共享库:1.1.1.5禁用故障监视器1.如果启动了故障监视器守护程序, 请停止故障监视器守护程序:第一步:要确定是否启动了FM,请发出以下命令(用root用户运行):is A V AILABLE,如果禁用了FM,那么输出内容将是:Gcf module 'fault monitor' is NOT operable禁用故障监视器命令如下:2.如果启动了故障监视器协调程序 (FMC),请阻止实例自动启动(用root用户运行):第一步:要确定是否启动了 FMC,请发出以下命令:禁用了 FMC,那么 db2fmcu 命令的输出将是:FMC: down。

禁用FMC命令如下:自动启动。

发出以下命令:容,那么这表示该实例已配置为自动启动:DB2AUTOSTART=YES 第三步:阻止这些实例自动启动。

发出以下命令:3.区中运行以下命令:resources for db2inst1.则执行成功。

1.1.2安装补丁包要安装补丁包:DPF或者HADR或者PureScale环境中,需要在每台物理机器或者VM上安装DB2补丁包:1.对于 root 用户安装,请作为 root 用户登录。

2.切换至包含补丁包映像的目录。

3.通过发出installFixPack命令来启动安装。

例如:注:缺省情况下,installFixPak 命令将落实 AIX 上所有已更新的文件集。

在 AIX 上,如果不希望落实更新,则应按如下所示发出带 -a 选项(用于“应用”而不是“落实”)的installFixPak 命令, 一般情况下不用。

注意:如果是刚安装的DB2,还没有创建实例,则不需要进行下面的步骤。

如果是在现有DB2系统上进行更新,有实例存在,installFixPak之后,必须更新所有实例。

1.1.3更新实例和DAS级别更新该DB2副本(版本)下的所有实例和DAS以使用新的 DB2 级别:步骤:1.备份db2profile or db2cshrc 文件。

由于 db2iupdt 命令覆盖 db2profile 和 db2cshrc 脚本,因此此操作是必需的。

它不覆盖 userprofile 和 usercshrc 脚本。

2.2.以 root 用户登录更新实例,对于每个实例,发出下列命令:其中iname 表示实例名,install_home 表示适用于DB2软件的安装目录。

3.如果数据库管理服务器(DAS)实例存在并且是 DB2 版本 10.5 DAS 实例,要更新 DAS实例,发出以下命令:(好像install_home/instance/dasupdt 也可以)其中dasname 表示 DAS 所有者名(dasusr1),install_home 表示DB2软件的安装目录。

1.1.4更新数据库级别升级数据库到最新FixPack Level:以实例用户执行:1.1.5重启DB2实例和DAS以实例用户执行:1.启动许可证服务器2.启动实例(把该DB2副本下所有的实例都启动起来)3.1.1.6绑定程序所有实例的下的所有数据库都需要做这个操作。

1.实例用户连接数据库:2.绑定db2schema.bnd,db2ubind.lst 和 db2cli.lst文件注意:db2ubind.lst 和 db2cli.lst 包含 DB2 UDB 使用所必需的绑定文件的列表,@符号不能少,因为bind只能操作.bnd文件,如果是.lst文件,必须带@符号。

执行:其中path表示绑定文件所在的目录的全路径名,例如 $HOME/sqllib/bnd(如:/db2home/db2inst1/sqllib/bnd)。

如:或:其中$DB2DIR表示DB2副本(版本)的安装目录。

或:其中 $HOME 表示数据库服务器实例的主目录。

3.如果有嵌入式C/C++程序,也需要绑定:不管有没有都最好进行rbind一次,因为存储过程也需要rbind4.退出:1.1.7验证版本以及状态到这里补丁安装以及完成,需要进行DB2版本、数据库状态、完整性和有效性验证。

1.执行db2版本检查命令(root用户运行)2.数据库状态、完整性和有效性验证(实例用户运行):1.1.8可能出现的问题1.db2start出错解决办法:1.kill所有跟这个instance相关的进程、2.IPClean3.Run db2iupdt如果kill之后还有db2fmxx这样京城,可以用:fmcu -d 关掉db2fmcd进程,fm -i inst_name -D 关掉db2fmp进程,再用ipclean命令清空进程间通信。

详细命令请参考1.1.1.5节再用ipcs检查一下操作系统下有没有共享内存没被释放,用ipcrm -m/s来释放。

2.db2admin start 出错解决办法:1.kill所有跟这个admin server相关的进程、2.IPClean3.Run dasupdt3.在1.1.1.2节中停止实例后,使用ipcs检查一下有多少共享内存还没被释放手动释放:自动释放的脚本(将如下代码写入.sh中,再用sh xx.sh执行):1.1.9回退保障本例是摘自DB2V9的补丁升级。

不可回退到DB2 9.1版本,只能回退到一个比FP5更低的Fix Pack,比如FP4、FP3、FP1等。

在安装FP4、FP3、FP1等时,用以下命令:./installFixPack -f -b DB2DIR例如,要卸载 DB2 V9.1 FP2,请在 DB2 V9.1 FP1 安装映像中运行 installFixPack 命令,如下所示:./installFixPack -f -b DB2DIR其中 DB2DIR 是要强制为较低级别的修订包映像的 DB2 数据库产品的位置。

例如:./installFixPack -f -b /opt/ibm/db2/V9.11.1.10其他参考(以root用户执行)无法停止实例强制杀进程:Db2_psDb2_killps -ef|grep db2inst1 |awk '{print $2}'|xargs kill -91)安装前应运行 slibclean 来从内存中卸装未使用的共享库:/usr/sbin/slibclean如果ipcs | grep db2的输出结果仍然有未卸装的共享内存,那么执行以下命令ipcs -m| grep db2 | awk '{print $2}'|xargs -i ipcrm -m {}ipcs -s| grep db2| awk '{print $2}'|xargs -i ipcrm -s {}2)禁用故障监视器进程。

要停止故障监视器守护程序,请发出以下命令:/opt/ibm/db2/V9.5/bin/db2fm -i db2inst1 -Dreturn non-zero rc, please see log file '/home/db2inst1/sqllib/db2dump/db2diag.log'3)如果启用了故障监视器协调程序(FMC),那么请阻止您的实例自动启动:a. 要确定是否启用了 FMC,请发出以下命令:/opt/ibm/db2/V9.5/bin/db2fmcuFMC: down如果启用了 FMC,那么您将看到类似于以下内容的输出:FMC: up: PID = 3415。

使用/opt/IBM/db2/V9.5/bin/db2fmcu –d 停止FMC如果禁用了 FMC,那么 db2fmcu 命令的输出将是:FMC: down。

b. 如果启用了 FMC,请确定是否有实例配置为在每次系统重新启动之后自动启动。

发出以下命令:/opt/ibm/db2/V9.5/instance/db2iset -i db2inst1 -all 每个实例执行一次(用/opt/ibm/db2/V9.5/bin/db2ilist 查看当前DB2副本下所有实例)[i] DB2COMM=TCPIP[i] DB2AUTOSTART=YES[g] DB2SYSTEM=ibmdb2[g] DB2INSTDEF=db2inst1[g] DB2ADMINSERVER=dasusr1如果 db2set 命令的输出包含以下内容,那么这表示该实例已配置为自动启动:DB2AUTOSTART=YES阻止这些实例自动启动。

发出以下命令:/opt/ibm/db2/V9.5/instance/db2iauto -off db2inst1/opt/ibm/db2/V9.5/instance/db2iset -i db2inst1 -all[i] DB2COMM=TCPIP[g] DB2SYSTEM=ibmdb2[g] DB2INSTDEF=db2inst1[g] DB2ADMINSERVER=dasusr1如果有需要,请在完成修订包安装之后重新启用实例自动启动:/opt/ibm/db2/V9.5/instance/db2iauto -on db2inst17)确保对要更新的实例清除了所有 DB2 进程间通信。

相关主题