IBM DB2 V10.5 for Linux, Unix, and Windows,简称 DB2 V10.5,是 IBM 在 Linux,Unix 和 Windows 平台上的企业级数据库产品 DB2 for LUW 的">最新版本,它已于 2013 年 6 月正式发布。DB2 V10.5 提供了很多新的功能特性以及对一些老的 DB2 特性做了加强,很多用户由于业务系统的需要,希望将 DB2 从老版本升级到 V10.5。如果要让 DB2® 环境组件在 DB2 V10.5 上顺利运行,那么你可能需要对这些环境组件进行升级。DB2 环境包含几个组件,例如,DB2 服务器、DB2 客户机、数据库应用程序和例程。对这些组件进行升级时,你需要了解 DB2 数据库产品及其升级概念。
本文主要以 DB2 V10.1 到 DB2 V10.5 的升级为例来讲解具体的升级过程。
升级前准备
升级之前,客户需要考虑升级条件是否具备,然后制定升级计划。
检查升级条件
主要从两方面来检查是否支持 DB2 升级到 V10.5 版本。在 DB2 版本方面,只支持直接从 DB 9.7 之后(含)的版本升级,如果是更低的版本如 DB2 9.5,需要先升级到 9.7 或 10.1,然后再升级到 V10.5。建议将DB2 升级到 V9.7 或 V10.1 最新的 FIXPACK。在操作系统方面,DB2 V10.5 在软件、通信、磁盘和内存方面对不同操作系统有不同的最低要求,因此应当确保所选操作系统满足这些要求。本文不详细介绍不同操作系统安装 V10.5 的所有要求。DB2 安装软件中提供了一个很好的工具 db2prereqcheck 来检查系统是否满足安装先决条件,而不必直接开始安装特定的 DB2 版本。此命令检查先决条件,例如,操作系统级别、客户机或特定于 DB2 pureScale 特性的要求等等。
清单 1. 清单 1. Windowns 系统上 db2prereqcheck 命令输出
D:\WINDOWNS_AMD64\ESE\image>db2prereqcheck.exe -v 10.5.0.0 ========================================================================== Checking DB2 prerequisites for DB2 database version "10.5.0.0" on operating system "Windows" Required minimum version : "Windows 2012" SP "0" Actual version detected: "Windows 2012" SP "0" OS is Windows "Server" Requirement matched. DBT3533I The db2prereqcheck utility has confirmed that all installation prerequisites were met.
如果 db2prereqcheck 执行成功,说明此系统满足所有的安装条件。如果发现条件不符合,那么将会返回如清单 1 所示的错误信息,列出所有安装的先决条件。客户就需要根据错误信息,逐一满足。一直到运行此工具不再出现错误信息为止。
实际上,如果运行不带任何参数的 db2prereqcheck 命令,那么该命令将检查系统是否满足所有 DB2 发行版和修订包的先决条件。要检查系统是否满足特定 DB2 版本的先决条件,要运行带有 -v 参数的 db2prereqcheck 命令。对于 DB2 pureScale 特性安装,需使用 -p 选项。对于客户机安装,需使用 -c 选项。
清单 2. 清单 2. AIX 系统上 db2prereqcheck 命令输出
bash-4.2# ./db2prereqcheck -p -v 10.5.0.0 ========================================================================== Checking DB2 prerequisites for DB2 database version "10.5.0.0" on operating system "AIX" Validating "kernel level " ... Required minimum operating system kernel level: "6.1". Actual operating system kernel level: "7.1". Requirement matched. Validating "AIX technology level and service pack " ... Required minimum technology level: "0" Service pack: "3" Actual technology level: "2" Service pack: "1" Requirement matched. Validating "XL C/C++ Runtime" ... Required minimum "XL C/C++ Runtime" level: "11.1.0.1" Actual version: "12.1.0.1" Requirement matched. Validating "openssh" ... Found package "openssh" on host "sapaix8". Requirement matched. Validating "IOPORTS" ... The input/output completion Port (IOCP) is installed on host "sapaix8". The input/output completion Port (IOCP) is enabled on host "sapaix8". Requirement matched. Validating "free space" ... The directory "/tmp" has enough space on host "sapaix8". Requirement matched. Validating "free space" ... The directory "/var" has enough space on host "sapaix8". Requirement matched. Validating "free space" ... DBT3594W The db2prereqcheck utility found that the directory "/home" does not have the recommended amount of free space on host "sapaix8". Recommended amount needed: "5120000 KB". Actual space present: "203792 KB". WARNING : Requirement not matched. Validating "free space" ... The directory "/opt" has enough space on host "sapaix8". Requirement matched. Validating "free space" ... DBT3594W The db2prereqcheck utility found that the directory "/" does not have the recommended amount of free space on host "sapaix8". Recommended amount needed: "5120000 KB". Actual space present: "203792 KB". WARNING : Requirement not matched. Validating "uDAPL" ... Required minimum "uDAPL" level: "7.1.0.15" Actual version: "6.1.6.0" ERROR : Requirement not matched. Requirement not matched for DB2 database "Server" with pureScale feature. Version: "10.5.0.0". Summary of prerequisites that are not met on the current system: Required minimum "uDAPL" level: "7.1.0.15" Actual version: "6.1.6.0" DBT3594W The db2prereqcheck utility found that the directory "/" does not have the recommended amount of free space on host "sapaix8". Recommended amount needed: "5120000 KB". Actual space present: "203792 KB". DBT3594W The db2prereqcheck utility found that the directory "/home" does not have the recommended amount of free space on host "sapaix8". Recommended amount needed: "5120000 KB". Actual space present: "203792 KB".
需要注意的是:db2prereqcheck 可以检查 DB2 安装的大部分升级条件,但是并不会检测 DB2 服务器升级的磁盘空间要求。在 Linux 和 UNIX 操作系统上,建议在 /tmp 目录中有 2 GB 的可用空间。此外,您需要了解系统环境中具有几个组件,如 DB2® 服务器、DB2 客户机、数据库应用程序、脚本、例程和工具,在规划升级时需要彻底了解每个组件的迁移过程。
制定升级计划
一般升级 DB2 需要花费很长的时间,而且具有一定的风险,一份周详的升级计划会有助于降低升级的风险。
首先,制定一项关于如何处理环境升级的策略。你必须确定每个组件的升级顺序。环境的特征和升级基本要求中的信息可以帮助你确定策略。
下面是一个很好的升级策略示例,在此示例中,你将测试数据库应用程序和例程并确定它们在 DB2 V10.5 中是否成功运行:
查看 DB2 V10.5 以及您要升级的发行版与 DB2 V10.5 之间的任何发行版的新功能、不推荐使用的功能和已停止使用的功能。
计划如何修改数据库应用程序和例程。确保它们在 DB2 V10.5 中成功运行。
设置 DB2 V10.5 服务器并创建测试数据库。
在 DB2 V10.5 测试数据库上测试数据库应用程序和例程,以确定它们是否成功运行。如果应用程序需要客户机,请使用 DB2 V10.5 客户机。
在测试环境中对 DB2 服务器和客户机进行升级。确定存在的问题及其解决方案。使用此信息来调整升级计划。
在生产环境中将 DB2 服务器升级到 DB2 V10.5。确保它们按预期操作。
在生产环境中将客户机升级到 DB2 V10.5。确保客户机按预期操作。
在升级后的 DB2 V10.5 环境中测试数据库应用程序和例程,以确定它们是否按预期运行。
使已升级的环境可供用户使用。
之后,你就可以为环境中的每个组件定义升级计划详细信息。升级计划应该包括每个组件的下列信息:升级先决条件,升级前任务,升级任务和升级后任务。
如果你先前已制定了升级计划,查看它们并将它们与 DB2 V10.5 的升级计划进行比较。最后,在升级计划中取消使用不推荐使用的功能并合并 DB2 V10.5 中的新功能。尽管你只需要取消使用已停止使用的功能,但还是应该计划在升级之后取消使用不推荐使用的功能,因为在未来的发行版中将不支持这些功能。此外,还应该利用新功能为你的数据库产品、应用程序和例程增强功能和提高性能。升级是一个高风险的过程,一定要做好充分的准备和测试。
升级
安装 DB2 V10.5
自从 DB2 V9 开始,DB2 支持在操作系统上安装多个副本。升级数据库有两种安装 DB2 的选择,一种是安装新的数据库副本到新的位置,另外一种是直接升级老版本数据库副本到新的版本。这个具体要看用户 的环境规划。我们推荐安装新的副本到新的位置,这样可以不影响老的副本,如果升级过程中出现问题,客户可以恢复到老的版本直接运行。
我们以 DB2 V10.1 到 DB2 V10.5 的升级为例来讲解具体的升级过程。系统中已安装了 DB2 V10.1 的一个副本。我们下载 DB2 V10.5 版本,对于 Windows 操作系统,执行其中的 setup.exe,
图 1. 图 1. DB2 V10.5 的安装文件
此时弹出如下界面:
图 2. 图 2. DB2 V10.5 安装界面
在 DB2 V10.5 中,这个界面较之前做了些调整——按照服务类型和安装端进行了分类:将 Advanced Enterprise Server Edition、Advanced Workgroup Server Edition、Enterprise Server Edition 和 Workgroup Server Edition 放到了一组,Express Version、Data Server Client、Data Server Runtime Client 和 Connect Server 各自为一组,这里我们选择第一组的安装
图 3. 图 3. 选择一:安装一个新的副本
若点击 Work with Existing,则表示直接升级老版本数据库副本到新的版本:
图 4. 图 4. 选择二:直接升级老版本数据库副本到新版本
对于 Linux 和 Unix 操作系统来说,V10.5 在软件安装文件目录下有 db2_install 和 db2_setup 两种安装命令,如清单 3 所示,建议用户使用 db2_setup 来安装,因为 db2_install 在未来的新版本中将不再使用:
清单 3. 清单 3. V10.5 提供两种软件安装命令(Linux/ Unix)
bash-3.00# ls db2 db2_install db2ls db2setup installFixPack db2_deinstall db2ckupgrade db2prereqcheck ibm_im
首先我们使用 db2_install 来安装 DB2 副本,如清单 4 所示:
清单 4. 清单 4. 选择一:使用 db2_install 安装新副本(Linux/Unix)
# ./db2_install DBI1324W Support of the db2_install command is deprecated. For more information, see the DB2 Information Center. Default directory for installation of products - /opt/ibm/db2/V10.5 *********************************************************** Install into default directory (/opt/ibm/db2/V10.5) ? [yes/no]
在清单 4 中,我们看到输入 db2_install 后有提示:“Support of the db2_install command is deprecated”,这意味着 V10.5 以后版本将不再提供该命令,实际上我们从 V10.1 开始就不推荐使用这个命令。因此我们采用与 Windows 平台下相同的 db2setup 命令安装软件,如清单 5 中所示:
清单 5. 清单 5. 选择二:使用 db2setup 安装新副本(Linux Unix)
# ./db2setup DBI1190I db2setup is preparing the DB2 Setup wizard which will guide you through the program setup process. Please wait.
之后我们将看到亲切的图形界面,如图 2、图 3 所示,接下来按照向导将帮助您完成操作,如图 5 所示:
图 5. 图 5. 使用 db2setup 安装新副本界面(Linux Unix)
同样的,你可以选择 Install New 或者 Work with Exsiting 两种方式来进行安装。