购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 软件安装

不同版本的DB2软件安装略有差异,不过大都会遵循以下几个步骤:软件获取、安装前检查、安装和安装后检查。

3.1.1 软件获取

IBM官方网站上提供了DB2 Express-C版本的软件免费下载,该版本支持2 CPUs/4GB内存硬件配置,基本能够满足个人学习和测试。可通过如下链接下载当前DB2 express-c版本:

下载界面如图3.1所示。

图3.1 DB2 Express-C下载

注意: Express-C版本只支持Windows和Linux平台,在下载介质时需要根据硬件平台选择32bit还是64bit。

如果需要使用HADR、DPF等高级特性,则需企业版安装,企业版需要License。在UNIX平台中,企业版要求系统支持64bit。

3.1.2 安装前检查

DB2需要软/硬件环境的支持,在安装之前,需确保系统满足操作系统、硬件、软件、网络、磁盘和内存需求。不同版本、不同平台对环境的要求不同,可通过IBM信息中心查看:

以下是IBM官方发布的DB2 for AIX/Solaris/HP-UX平台上已知的问题,强烈建议在安装前仔细检查确认:

图3.2所示是在AIX上安装DB2时对操作系统和硬件的要求。比如在AIX 5.3系统上安装DB2,需要满足:

●必须是64bit平台。

●要求系统补丁是5.3.06.2,并且要求打上了IZ03063 APAR。

●要求C++运行时环境,如果系统没有安装,可到IBM网站上下载,并按指定的步骤安装。

图3.2 DB2安装需求

3.1.3 安装

当获得了软件安装包,并且满足了软/硬件环境后,可以安装了。在Windows平台的安装比较简单,根据图形界面指示一步步安装即可。Linux/UNIX平台有两种安装方法:图形界面和命令行,一般选择命令行安装方法,以下是Linux平台安装步骤,UNIX平台安装方法完全相同。

首先解压安装包,然后安装,安装大概需要5~10分钟,安装完毕可检查安装日志确认是否成功安装。

从DB2 9开始,一台机器上可以装多个DB2版本。通过db2ls命令可查看安装的版本及补丁信息,在以下环境中,安装了DB2 9.1、9.5和9.7 3个版本,通过db2ls –q选项可查看安装的组件:

3.1.4 补丁升级

同所有软件一样,DB2也不可避免地会出现一些错误,包括用户使用中发现的错误或者实验室测试出的错误。为修正这些错误,IBM一般每隔3个月出一个补丁包(fixpack),后一个补丁包包含前一个补丁包的内容,比如fp2会包含fp1的内容。一般情况下,对于一个大版本来说,fixpack 3以后的才是比较稳定的,否则可能会遇到各类问题,因此,建议在初始安装时即升级到较新的补丁包。

升级补丁的过程比较简单,但在生产环境升级前,建议先在测试机上进行测试,因为不是每次打补丁都能成功,而且升级过程中需要停止实例,数据不可用。同时,也要做好升级失败的回退机制,确保生产系统的稳定运行。

不同版本的升级方法略有不同,强烈建议在升级时参考IBM官方文档:

展开左边的内容,会看到“Applying fix packs”节点,展开该节点后有详细的说明,如图3.3所示。

图3.3 DB2补丁升级文档

我们以DB2 9.5版本的补丁升级为例,为大家介绍升级步骤(注:如果还没有创建实例,则只操作步骤(1)和(5)即可)。

(1)下载并解压补丁包。补丁可从IBM官方网站免费下载,链接如下:

下载界面如图3.4所示。

图3.4 DB2补丁下载

(2)备份当前实例和数据库配置信息,此步骤虽是可选的,但强烈建议备份。

参数-cl 0会收集数据库系统目录、数据库和实例配置参数、DB2注册变量设置等。这些信息会打包到db2support.zip文件中。

备份每个数据库的package信息:

备份数据库DDL语句:

(3)备份数据库,对于关键业务系统,强烈建议做好数据库备份。

(4)停止实例、服务和应用,准备升级。如果要升级的DB2版本包含了多个实例,则需要将所有实例都停止。注意:如果采用了双机软件配置,需要检查双机应用脚本,确保停止DB2实例时不会发生主备机切换。

如果机器上启动了DAS(Database Administration Server),则需要停止。我们将在第4章介绍DAS。

然后通过ps –ef |grep –i db2检查是否仍然存在DB2进程,通过ipclean进行清理,如果清理后仍然存在DB2进程,则可通过kill -9 <db2_pid>清除。

(5)安装补丁包。

进入补丁包安装目录,通过root用户执行installFixPack命令。

(6)安装后任务。

在补丁升级过程中,一些工具(如Import、Export、Load等)会自动绑定,DB2实例也会自动升级。但如果发生错误,则需要手工绑定和升级实例,命令如下:

如果希望使用补丁包中的新特性,强烈建议升级数据库,此命令需要实例用户执行:

重启实例和DAS实例:

接着对一些工具进行绑定(bind),path是绑定文件目录,比如/home/db2inst1/sqllib/bnd。

并重新绑定packages:

(7)回退机制。

当DB2补丁升级出现异常时,需要回退到初始的版本。在Windows平台中,只能通过控制面板将高版本补丁删除,再重新安装低版本补丁。在UNIX/Linux平台,可通过重新安装初始的补丁实现回退,-f选项表示忽略版本的检查,DB2DIR表示初始补丁安装目录。

(8)检查DB2版本,确认升级成功。

3.1.5 版本升级

软件都有一定的生命周期,表3是DB2各主要版本的发布和终止支持的时间。对于购买了IBM电话支持的客户,建议在支持结束前升级到更高版本,否则将为此支付更高的支持费用。对于新项目,建议直接选择9.5或9.7版本。

表3 DB2各主要版本发布和终止支持的时间

对于大版本的升级,如8.2→9.1、9.1→9.5、9.1→9.7、8.2→9.7等,它们之间会有很多变化,可能会出现在低版本执行正常,到高版本反而有问题的情况,这时详细的功能、性能测试就非常有必要了。

版本升级需要仔细规划和测试,强烈建议在生产环境升级前先在测试机上测试,这样可以提前发现升级过程中潜在的问题,并可以估计升级的时间和对系统的影响。DB2不同版本的升级命令有差异,建议读者参看DB2信息中心。

以下通过实例为大家演示从9.1版本升级到9.7版本的过程,假定9.1版本安装目录为/opt/ibm/db2/V9.1,该版本有一个实例名为inst20,inst20实例有一个数据库SAMPLE。

升级步骤如下:

(1)升级前的任务。

建议升级前对数据库做离线完全备份,以便升级出现问题时可以进行数据恢复。备份恢复将在第9章详细讲解,然后通过db2support备份一些重要的配置信息:

升级时确保系统表空间和临时表空间有足够的剩余空间,并且确保有足够的日志空间,因为升级时会把系统对象的变化作为一个完整的事务,当日志空间不够时,该事务会回滚,导致升级失败。

(2)安装新版本。

安装DB2 9.7版本,假定安装目录为/opt/ibm/db2/V9.7。本步骤不需创建实例,因为接下来我们要升级9.1的实例。

(3)升级前检查。

在升级前,最好通过db2ckupgrade命令检查是否可以成功升级。采用inst20实例用户进入/opt/ibm/db2/V9.7/instance目录,执行db2ckupgrade。注意:该命令要求inst20实例必须是启动的。

注: 9.7之前版本的升级检查的命令是db2ckmig,到9.7版本替换为db2ckupgrade。

(4)升级实例。

当所有检查完毕后,开始迁移inst20实例到9.7版本。升级前必须先停止inst20实例,升级命令是db2iupgrade,使用root用户执行。

升级产生的信息会记录在实例用户目录下的upgrade.log日志文件中,如果升级出现故障,可检查该文件诊断错误原因。

实例升级成功后,切换到实例用户并启动,检查版本,发现已经升级到9.7。

注: 9.7之前版本的升级实例的命令是db2iupdt,到9.7版本替换为db2iupgrade。

(5)升级数据库。

实例升级成功后,需要将实例下的所有数据库都升级到最新版本。数据库升级命令是upgrade。

数据库升级可能出现以下两类问题:日志空间不足(错误号是:SQL1704N,RC=3)和表空间不足(SQL1704N,RC=17)。

注: 9.7之前版本的升级数据库的命令是migrate,到9.7版本替换为upgrade。

(6)升级后检查。

至此,升级过程已经完成,但仍有一些工作要做。

①通过db2rbind重新绑定package。

②如果之前版本创建了事件监控器,并且将结果写到表中,升级后需要删除并重新创建。

③9.7版本与9.1版本相比在锁机制上发生了比较大的变化,在默认情况下,升级后仍然采用9.1版本锁机制。如果需要使用9.7版本的锁机制,则需要手工配置,并进行充分测试。

注意: DB2不支持高版本向低版本的回退,比如从9.5版本升级到9.7版本后,再回退到9.5版本就只能通过数据库恢复了。 YQzsoXlsydYnS9lXhlpVGrSN8FWUKBHhnKls7QbPGKM19J8x0b0BMWYUe3dm5ykV

点击中间区域
呼出菜单
上一章
目录
下一章
×