IBM 通用数据库

作者:Paul Zikopoulos

您是否一直在尝试在基于 Linux 的工作站上安装 DB2 Universal Database?您是否遇到一些问题?当我浏览 DB2 和 Linux 新闻组时,我听到许多用户在尝试在 Linux 上运行 DB2 时感到沮丧。这个问题是如何变得如此严重的?好吧,Linux 现象相对较新且不断变化。最近,各种各样的供应商都在蜂拥而至地推销他们的发行版,它们之间存在细微的差异。再加上似乎是每季度的发布,您可以看到 Linux 供应商和构建应用程序以在其上运行的人员之间的沟通渠道是如何被阻塞的。虽然应用程序开发人员和 Linux 供应商之间正在努力定义这种沟通管道,但您可以使用本文中的信息立即启动并运行。

DB2 for Linux 在以下 Linux 发行版上获得官方支持:Caldera OpenLinux、Red Hat Linux、TurboLinux 和 SuSE Linux。本文将引导您完成在每个受支持的 Linux 发行版上安装 DB2 所需的步骤。在本文中,我假设您之前没有安装过任何版本的 DB2,并且您没有维护任何由默认 DB2 安装创建的默认用户。在 DB2 安装期间将创建三个用户 ID:db2inst1、db2fenc1 和 db2as。如果您的系统上有任何这些用户,请务必在安装 DB2 之前删除它们及其关联的目录。本文还假设您熟悉用于安装软件包的 rpm 命令。如果您不熟悉此命令,请参阅您的 Linux 文档。

为了在 Linux 上运行 DB2,需要满足以下条件

  • Linux 内核 2.0.35 或更高版本

  • RPM(软件包管理器)

  • pdksh 软件包(公共域 Korn shell)

  • glibc 版本 2.0.7 或更高版本

  • libstdc++ 版本 2.8.0

准备您的 Linux 工作站以进行 DB2 安装

以下部分将重点介绍您需要在 Linux 工作站上执行的任何操作,以使其能够进行 DB2 安装。如果您的系统默认存在某个要求,我将不会在以下部分中注明。请记住,本文撰写时间和您阅读本文时间之间可能存在几个月的滞后时间。在那段时间里,我在这里提到的某些级别或链接可能已更改。

DB2 和 Caldera OpenLinux

我在本节中提供的信息基于 Caldera OpenLinux 版本 2.3,或简称为 Caldera,标准安装类型。如果您在 Linux 工作站上安装了不同的安装类型,您可能需要将一些必需的软件包添加到您的工作站。

pdksh 软件包在默认的标准安装中缺失。此软件包在 Caldera CD-ROM 上可用;但是,它与 DB2 不兼容。IBM 和 Caldera 正在努力解决这个问题,但在同时,我建议您从 Red Hat 镜像站点下载 pdksh 软件包——它将工作得很好。我相信 Caldera Systems 将在他们的 FTP 站点 ftp://ftp.calderasystems.com/pub/ 上发布修复程序。

现在,转到镜像站点 http://www.metalab.unc.edu/pub/Linux/distributions/redhat/redhat-6.1/i386/RedHat/RPMS/。下载 pdksh-5.2.14-1.i386.rpm 软件包,并使用 -nodeps 选项通过 rpm 命令安装它。如果您尝试在不使用 -nodeps 选项的情况下安装此软件包,您将收到一个错误,指出此软件包对 glibc 软件包有要求。此错误只是 Caldera Systems 和 Red Hat 使用的不同命名约定的结果。默认情况下安装了 glibc 软件包。

对于 DB2 版本 6,您需要 libstdc++ 2.80,DB2 v6 将无法与 libstdc++ 2.9.0 一起运行。默认情况下,Caldera 版本 2.3 安装了 libstdc++ 2.9.0。所需的 libstdc++ 2.8.0 位于 CD-ROM 的 /col/contrib/RPMS 目录中,软件包名为 libstdc++-compat-2.8.0-1.i386.rpm。

如果您运行的是 Caldera 版本 2.2,我建议您升级到版本 2.3;这将使您的 DB2 安装容易得多。如果您不想这样做,除了我在 Caldera 版本 2.3 中提到的问题之外,您还需要注意一些事项。

首先,libstdc++-compat-2.8.0-1.i386.rpm 软件包不在 CD-ROM 上。您可以从 Caldera 在 ftp://ftp.calderasystems.com/pub/openlinux/2.3/contrib/RPMS/ 获取它。

最后,DB2 需要一个名为 libcrypt.so.1 的文件才能工作。此文件通常随每个 Linux 发行版一起提供。联邦出口法律的一些问题导致 Caldera 版本 2.2 在发货时没有此文件。要将此文件添加到您的工作站,请从 ftp://ftp.linuxland.de/pub/OpenLinux/crypto/2.2/RPMS/ 下载软件包 glibc-crypt-2.1-3i.i386.rpm。我在 Caldera 的 FTP 站点上找不到此修复程序。

完成这些任务后,您的 Caldera 版本 2.2 工作站就可以进行 DB2 安装了。

DB2 和 TurboLinux

我在本节中提供的信息基于 TurboLinux 版本 3.6 基本工作站安装。如果您在 Linux 工作站上安装了不同的安装类型,您可能需要将一些必需的软件包添加到您的工作站。

在运行 TurboLinux 的工作站上尝试运行 DB2 时,存在一些问题。从 Web 下载修复程序:ftp://ftp.software.ibm.com/ps/products/db2/tools/。修复程序名为 tl36_instfix.tar.Z,请注意 l 是字母“l”而不是数字“1”。您实现此修复程序所需的所有信息都在名为 tl36_instfix.readme.txt 的 README 文件中提到。

下载修复程序后,您需要添加 pdksh 软件包,它不是基本工作站安装的一部分。此文件在 TurboLinux CD-ROM 的 /TurboLinux/RPMS 目录中可用。

完成这些任务后,您的 TurboLinux 版本 3.62 工作站就可以进行 DB2 安装了。

DB2 for SuSE Linux

我在本节中提供的信息基于 SuSE 版本 6.3 面向网络的系统安装。这些说明也适用于运行 SuSE 版本 6.2 的工作站。如果您在 Linux 工作站上安装了不同的安装类型,您可能需要将一些必需的软件包添加到您的工作站。

在运行 SuSE Linux 的工作站上安装 DB2 的最大问题是 SuSE 用于其软件包的命名约定。例如,SuSE 将所需的 glibc 软件包称为 shlibs。当您尝试安装 DB2 时,这将导致问题,因为 DB2 安装实用程序将无法识别所需 glibc 软件包的存在。为了解决这个问题,您必须安装一个虚拟软件包,名为 glibc-2.0.7-0.i386.rpm。此软件包位于 DB2 产品 CD-ROM 的 /db2/install/dummyrpm 目录中。

SuSE 版本 6.1 的其他步骤

SuSE Linux 版本 6.1 附带了 DB2 for Linux 版本 5.2 代码的 beta 版副本。因此,当您安装 DB2 时,这会导致默认用户出现问题。更奇怪的是,我注意到当我安装本不应包含 DB2 的面向网络的系统安装时,默认的 DB2 用户被创建了。更糟糕的是,我找不到任何关于 SuSE 创建的 DB2 用户的密码信息(它们不是默认的 DB2 密码),并且 SuSE 实现的一些设置不适用于 DB2。最后,删除 SuSE 安装创建的用户(db2inst1、db2as、db2fenc1)。有关 SuSE 用户管理的更多信息,请参阅您产品的文档。

完成这些任务后,您的 SuSE 版本 6.1 工作站就可以进行 DB2 安装了。

DB2 和 Red Hat Linux

我在本节中提供的信息基于 Red Hat 版本 6.0 服务器安装。这些说明也适用于运行 Red Hat 版本 5.2 的工作站,尽管软件包的名称可能处于不同的级别。如果您在 Linux 工作站上安装了不同的安装类型,您可能需要将一些必需的软件包添加到您的工作站。

Red Hat 版本 5.2 和版本 6.0 安装都易于启用以进行 DB2 安装。它们都缺少运行 DB2 安装程序所需的 pdksh 软件包。此软件包位于 Red Hat CD-ROM 的 /RedHat/RPMS 目录中。

如果您尝试在运行 Red Hat 版本 6.1 的工作站上安装 DB2,由于此版本的 Red Hat v6.1 和 DB2 存在问题,您将无法取得太大进展。您可以从 ftp.software.ibm.com/ps/products/db2/tools 下载 Red Hat 修复程序。您需要的修复程序取决于您获取 DB2 代码的位置。如果您正在安装 Red Hat 6.1 捆绑的 DB2 副本,请下载文件 db2rh61fix.tgz。如果您正在安装任何其他 DB2 代码,则需要下载 db2rh61gafix.tgz 文件。

下载适当的修复程序后,通过输入 tar xvzf filename 命令解压缩它们,其中 filename 是下载的修复程序文件的名称。解压缩此文件后,您将在目录中看到三个文件。其中一个是 README 文件,名为 readme.txt。此文件提供了关于如何实现此修复程序的完整而详细的说明。

完成这些任务后,您的 Red Hat 版本 6.1 工作站就可以进行 DB2 安装了。

安装 DB2

DB2 安装程序使 DB2 的安装变得容易,它是一个安装和设置实用程序。此实用程序将安装 DB2 的所有必需软件包,为 DB2 数据库和管理支持创建实例,并配置您的 DB2 服务器以进行通信。本节中的说明假设您没有更改 DB2 安装程序提供的任何默认设置,除非在以下步骤中注明。

如果您从 Linux 发行版的图形界面中的命令窗口启动 DB2 安装程序,您通常会遇到显示问题。您可以随时按 CTRL-L 刷新 DB2 安装程序的视图。为了避免大多数潜在的显示问题,我建议在操作系统图形界面之外的虚拟控制台会话中运行 DB2 安装程序。您可以通过按 CTRL-ALT-F1CTRL-ALT-F7 在大多数 Linux 发行版上的虚拟控制台会话和图形界面会话之间切换。有关更多详细信息,请参阅您的 Linux 文档。

要快速安装 DB2,请执行以下步骤

  • 以具有 root 权限的用户身份登录系统

  • 通过输入以下命令挂载 DB2 产品 CD-ROM

        mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
  • 其中 /mnt/cdrom 是 CD-ROM 的挂载点。请注意,即使您在运行 TurboLinux 版本 3.6 或 Red Hat Linux 版本 6.1 的工作站上安装 DB2,您仍然需要挂载 CD-ROM。由安装修复程序创建的映像链接到 DB2 CD-ROM。有关更多信息,请参阅您的修复程序的 readme.txt 文件。

  • 将焦点更改为 CD-ROM 的挂载点。请注意,如果您在运行 TurboLinux 版本 3.6 或 Red Hat Linux 版本 6.1 的工作站上安装 DB2,您将更改为您在工作站上创建映像的目录。有关更多信息,请参阅您的修复程序的 readme.txt 文件。

  • 输入 ./db2setup 命令以启动 DB2 安装程序。将打开“安装 DB2 V6.1”窗口。此窗口的内容随您安装的 DB2 产品而异。图 1 是在您安装 DB2 Workgroup Edition for Linux 时显示的窗口。

  • tab 键移动选择栏,ENTER 键选择或取消选择选项。有关 DB2 安装期间的更多信息或帮助,请选择“帮助”。从产品列表中,选择您要安装的 DB2 产品。对于此示例,选择“DB2 UDB Workgroup Edition”,然后选择“确定”。将打开“创建 DB2 服务”窗口。

  • 选择您要安装的 DB2 产品旁边的“自定义”选项。对于我们的示例,选择“DB2 UDB Workgroup Edition”选项旁边的“自定义”选项。

  • 选择“Java 支持”和“控制中心”组件。

  • 选择“创建 DB2 实例”选项。为此用户输入密码,并通过在提供的字段中重新键入此密码来验证它。

  • 选择“属性”选项。

  • 选择 DB2 实例的“创建示例数据库”,然后选择“确定”。

  • 选择“确定”。

  • 将打开一个窗口,要求您创建一个将用于执行用户定义函数 (UDF) 和存储过程的用户。对于此示例,您无需了解或使用此用户。只需为此用户输入密码,验证它并选择“确定”。您将返回到“DB2 创建服务”窗口。有关 UDF 或存储过程的更多信息,请参阅“管理指南”。

  • 选择“创建管理服务器”选项。也为此用户输入密码,然后选择“确定”。

  • 将打开一个弹出窗口,告诉您此工作站的 DB2 系统名称。选择“确定”。您将再次返回到“创建 DB2 服务”窗口。

  • 选择“确定”,然后选择“继续”,最后选择“确定”以开始安装。安装完成后,响应 DB2 安装程序的提示以关闭此实用程序。

您已完成安装 DB2 所需的所有步骤!

验证您的 DB2 安装

现在您已经完成了安装,让我们完成一个快速的示例查询,以向您证明这个强大的数据库实际上在您的系统上运行。

要验证您的安装,请执行以下步骤

  • 以 db2inst1 用户身份登录系统。如果您使用 su 命令执行此操作,请确保使用 - option 选项输入此命令;例如,su - db2inst1

  • 输入以下命令以连接到 DB2 安装程序创建的示例数据库

        db2 connect to sample
  • 您应该收到类似于以下内容的输出

        Database Connection Information
        Database server = DB2/LINUX 6.1.0
        SQL authorization ID = DB2INST1
        Local database alias = SAMPLE
  • 输入以下命令以选择 staff 表中属于部门 20 的所有员工的列表

        db2 "select * from staff where dept = 20"
  • 请注意,您必须使用引号输入此命令,以便您的操作系统不会将 SQL 语句与命令混淆。您应该收到类似于表 1 中所示的输出。

  • 通过输入以下命令结束数据库连接:db2 terminate

表 1

启用 DB2 图形工具

您必须具有先决条件 Java 运行时环境 (JRE) 级别才能使用 DB2 管理工具。有关更多信息,请参阅控制中心 README,它可以在 INSTHOME/sqllib/cc/prime 目录中找到,其中 INSTHOME 是安装期间为实例创建的用户的 home 目录(例如,/home/db2inst1/sqllib/cc/prime)。让我为您节省一些时间,并带您了解我在工作站上运行图形工具的最快方法。执行以下步骤

  • 以具有 root 权限的用户身份登录您的工作站

  • 为了运行图形工具,您需要至少运行 Java 1.1.7 v3 或更高版本。JRE 可从 Blackdown 网站 www.blackdown.org/java-linux/mirrors.html 获得。对于此示例,我访问了镜像站点:ftp://metalab.unc.edu/pub/linux/devel/lang/java/blackdown.org/JDK-1.1.7/i386/glibc/v3/,下载了 jre_1.1.7-v3-glibc-x86-native.tar.gz 文件并将其放置在 /tmp 目录中。有关支持的 JRE 和浏览器的所有最新信息,请访问 http://www.software.ibm.com/data/db2/

  • 请注意,您必须下载要使用的 JRE 的本机线程版本。DB2 控制中心不支持绿色线程。

  • 下载合适的 JRE 后,通过输入以下命令解压缩文件

  • tar xvfz jre_1.1.7-v3-glibc-x86-native.tar.gz

  • 以 db2inst1 用户身份登录您的工作站。

  • 更新您的 PATH,以便您的工作站知道刚刚安装的 JRE 二进制文件的位置。假设您正在按照示例进行操作,对于 Bash 或 Bourne shell,输入此命令:export PATH=/tmp/jre117_v3/bin:$PATH;对于 C shell,输入:setenv PATH /tmp/jre117_v7/bin:${PATH},其中 /tmp/jre117_v7/bin 是下载的 JRE 二进制文件的路径。

  • 通过输入以下命令启动 JDBC Applet 服务器:db2jstrt 6790

  • 启动图形管理工具。对于此示例,让我们使用命令 db2cc 6790 启动控制中心。

  • 将打开“控制中心登录”窗口。输入对您打算使用的实例具有 SYSADM 权限的有效 DB2 用户。对于我们的示例,输入 db2inst 用户 ID 和相应的密码。有关更多信息,请参阅“管理指南”。

现在,您已完成配置工作站以使用 DB2 图形工具所需的所有步骤。

如果您遵循我在本文中概述的步骤和注意事项,您应该在您的 Linux 工作站上运行一个 DB2 副本、一个示例数据库、一个正在运行的控制中心以及一张微笑的脸!

IBM's Universal Database
Paul Zikopoulos (paulz_ibm@yahoo.com) 是 DB2 信息和开发团队的高级成员,专门研究 DB2 安装和配置问题。他在 DB2 Universal Database 方面拥有五年以上的经验,并撰写了关于 DB2 的杂志文章和书籍。Paul 是 IBM 认证高级技术专家(DRDA 和 Cluster/EEE)和 IBM 认证 DB2 Universal Database 解决方案专家。
加载 Disqus 评论