16. 在 Ubuntu 7.04 'Feisty Fawn' 上安装 DB2 Express-C

这些安装说明基于使用 2.6.20-16-generic 内核的单分区安装。

请注意,IBM 尚未正式支持此发行版上的 DB2 9。在使用此发行版时遇到的任何问题,必须先在受支持的发行版上重现,IBM 支持才能帮助您解决问题。

另请注意,Ubuntu 7.04 及更高版本不再支持 PowerPC 架构。

16.1. 安装说明

由于您无法直接以 root 用户身份登录 Ubuntu 系统,因此此 DB2 安装以 Ubuntu 设置期间创建的默认用户(即具有 'sudo' 功能的普通用户帐户)身份运行。

在 Ubuntu 上安装 DB2 Express-C 9 有两种方法。两种方法中较难的一种是使用默认的 DB2 db2setup,然后在之后对 Ubuntu 系统进行调整,以处理 Ubuntu 基于 Debian 的软件包系统的细微差别。出于清晰和简洁的考虑,我将省略以这种更困难方式进行操作的说明;但是,如果您想查看这些说明,请给我发送电子邮件 (db2howto@gmail.com),我会将其转发给您。

在 Ubuntu 7.04 上安装 DB2 Express-C 的简单方法是下载 DB2 Express-C Debian 软件包文件,然后使用 Ubuntu 软件包安装程序。这样,几乎所有事情都为您完成,从安装到配置。以下是操作方法

  1. 使用任何 FTP 客户端软件连接到: ftp.software.ibm.com/software/data/db2/express/latest_debs

  2. 下载db2exc_9.1.2-1_i386.deb(或最新的等效 .deb 文件)

  3. 下载完成后,运行此命令

    sudo gdebi-gtk db2exc_9.1.2-1_i386.deb

  4. 点击“安装软件包

  5. 软件包安装完成后,点击“关闭

点击“安装软件包”按钮后,Ubuntu 软件包安装程序将解压缩并安装软件包,并配置 DB2 用户和默认实例。安装完成后,点击“关闭”按钮。

16.2. 安装后说明

通过 Synaptic 安装后,需要执行几个步骤才能使 DB2 顺利运行。

  1. DB2 默认帐户的可使用密码。

    要实际使用默认 DB2 用户(db2inst1、db2fenc1 和 dasusr1)登录或连接到 DB2 数据库和服务器,您需要修改初始密码。为此,打开终端(以普通用户身份),并键入 sudo su - 以获取 root 访问权限。然后运行以下三个命令

    passwd db2inst1
    passwd db2fenc1
    passwd dasusr1
    每次都会要求您为指定的用户帐户设置新密码。

  2. 更改 DB2 默认帐户的默认 shell。

    DB2 帐户的默认命令 shell 设置为普通的 /bin/sh。要获得 BASH shell 的便捷功能,您需要为这三个帐户更改它。在相同的 root 访问命令窗口中,打开/etc/passwd您喜欢的文本编辑器中的文件,并将

    db2inst1:x:1001:1001::/home/db2inst1:/bin/sh
    db2fenc1:x:1002:1002::/home/db2fenc1:/bin/sh
    dasusr1:x:1003:1003::/home/dasusr1:/bin/sh
    更改为
    db2inst1:x:1001:1001::/home/db2inst1:/bin/bash
    db2fenc1:x:1002:1002::/home/db2fenc1:/bin/bash
    dasusr1:x:1003:1003::/home/dasusr1:/bin/bash

  3. 为远程连接启用 DB2 服务端口。

    要允许外部用户访问您的 DB2 数据库,您需要设置 DB2 服务端口,因为它未通过 Synaptic 安装过程配置。

    以普通用户身份,运行 sudo vi /etc/services 并在文件末尾添加此行

    db2c_db2inst1       50001/tcp        # IBM DB2 instance - db2inst1
    然后,以 DB2 实例所有者(默认为 db2inst1)身份,运行以下命令
    db2 update dbm cfg using SVCENAME db2c_db2inst1
    db2set DB2COMM=tcpip
    db2stop
    db2start
    现在,远程用户将能够连接到您的 Ubuntu 系统上的 DB2 数据库。

  4. 启用远程 DB2 管理连接。

    要允许远程管理您的 DB2 服务器,您需要设置 DB2 DAS 连接端口,因为它未通过 Synaptic 安装过程配置。

    以普通用户身份,运行 sudo vi /etc/services 并在文件末尾添加此行

    ibm-db2           523/tcp          # IBM DB2 DAS
    ibm-db2           523/udp          # IBM DB2 DAS
    然后,以 DB2 DAS 所有者(默认为 dasusr1)身份,运行以下命令
    db2admin stop
    db2admin start
    现在,远程管理员可以连接到 DAS 服务器来管理您的 Ubuntu 系统上的数据库。

  5. 纠正实例重启问题

    Ubuntu 7.04 安装的一个值得注意的问题是,DB2 实例在系统重启后无法正确重启,并且设置 DB2AUTOSTART=YES 也无法解决此问题。

    DB2 Express-C 论坛上的 IgorM 部分建议了一种解决此问题的方法;那就是创建并执行您自己的 DB2 实例启动脚本。

    首先,登录并使用以下命令创建一个新的脚本文件

    sudo vi /etc/init.d/db2
    然后插入以下文本
    #!/bin/sh
    #
    # Script to start DB2 instances on bootup.
    #
    set -e
    
    . /lib/lsb/init-functions
    
    case "$1" in
    start)
            /opt/ibm/db2exc/V9.1/instance/db2istrt 
            ;;
    stop|restart|reload)
            ;;
    esac
    
    exit 0
    并使用 :wq vi 命令将文件写入磁盘。

    请注意,可执行文件的路径是 /opt/ibm/db2exc/V9.1/,这是来自 DB2 .deb 文件的默认安装路径。如果您的安装将 DB2 文件放在其他位置,请务必根据需要调整此脚本以查找 /instance/ 目录。

    脚本保存后,赋予该文件正确的属主和权限

    chown root.root db2
    chmod 755 db2

    现在,要初始化此脚本使其在启动时启动,请使用以下命令安装 Boot-Up Manager

    sudo apt-get bum

    Synaptic 下载并安装应用程序文件后,您可以通过点击 系统 -> 管理 -> 启动管理器 来运行该程序。然后点击 db2 条目旁边的“激活”复选框。点击 应用,并在询问您是否要立即启动服务的对话框中选择“否”。点击 退出。该脚本现在将在您下次启动时运行并启动所有 DB2 实例。

    解决此问题的唯一另一种方法是在重启后手动启动实例,使用 db2start(作为实例所有者)和 db2admin start(作为 DAS 所有者)。一旦 DB2 Express-C 通过了 Ubuntu 7.04 的验证过程,此实例启动问题将消失。