这些安装说明基于使用 2.6.20-16-generic 内核的单分区安装。
请注意,IBM 尚未正式支持此发行版上的 DB2 9。在使用此发行版时遇到的任何问题,必须先在受支持的发行版上重现,IBM 支持才能帮助您解决问题。
另请注意,Ubuntu 7.04 及更高版本不再支持 PowerPC 架构。
由于您无法直接以 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 软件包安装程序。这样,几乎所有事情都为您完成,从安装到配置。以下是操作方法
使用任何 FTP 客户端软件连接到: ftp.software.ibm.com/software/data/db2/express/latest_debs
下载db2exc_9.1.2-1_i386.deb(或最新的等效 .deb 文件)
下载完成后,运行此命令
sudo gdebi-gtk db2exc_9.1.2-1_i386.deb |
点击“安装软件包”
软件包安装完成后,点击“关闭”
通过 Synaptic 安装后,需要执行几个步骤才能使 DB2 顺利运行。
DB2 默认帐户的可使用密码。
要实际使用默认 DB2 用户(db2inst1、db2fenc1 和 dasusr1)登录或连接到 DB2 数据库和服务器,您需要修改初始密码。为此,打开终端(以普通用户身份),并键入 sudo su - 以获取 root 访问权限。然后运行以下三个命令
passwd db2inst1 passwd db2fenc1 passwd dasusr1 |
更改 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 |
为远程连接启用 DB2 服务端口。
要允许外部用户访问您的 DB2 数据库,您需要设置 DB2 服务端口,因为它未通过 Synaptic 安装过程配置。
以普通用户身份,运行 sudo vi /etc/services 并在文件末尾添加此行
db2c_db2inst1 50001/tcp # IBM DB2 instance - db2inst1 |
db2 update dbm cfg using SVCENAME db2c_db2inst1 db2set DB2COMM=tcpip db2stop db2start |
启用远程 DB2 管理连接。
要允许远程管理您的 DB2 服务器,您需要设置 DB2 DAS 连接端口,因为它未通过 Synaptic 安装过程配置。
以普通用户身份,运行 sudo vi /etc/services 并在文件末尾添加此行
ibm-db2 523/tcp # IBM DB2 DAS ibm-db2 523/udp # IBM DB2 DAS |
db2admin stop db2admin start |
纠正实例重启问题
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 |
请注意,可执行文件的路径是 /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 的验证过程,此实例启动问题将消失。