级别: 初级 Ian Shields, 高级程序员, IBM
2003 年 1 月 01 日 本文将指导您轻松地完成安装 DB2 8.1 和 IBM Java 运行时环境(Java Runtime Environment,JRE)的步骤。本文适用的对象是那些刚接触 Linux 或基于 UNIX 操作系统的开发人员。在
论坛中与作者和其他读者分享您对本文提出的问题和观点。
在本文中,我们将完成下列任务:
- 查询 Linux 中已安装的软件包,如 pdksh。
- 使用
su 命令来切换用户。
- 使用
db2setup 命令来定制 DB2 安装。
- 配置内核参数以改进 DB2 for Linux 的性能。
- 使用
rpm 命令来安装 JRE 。
- 在 Linux 中使用符号链接。
开始之前
有关受支持的 Linux 分发版的信息,请参阅
DB2 for Linux。
建议使用 2.4.18 或更高版本的内核。本文中的示例使用带 GNOME 桌面的 Red Hat 7.3 安装。
注意:Red Hat 9 对于 DB2
不是受支持的分发版。我们将给您一个允许您在 Red Hat 9 上使用 DB2 的工作区,但是该环境中可能有一些功能不能正常工作。
如果您刚开始接触 Linux 并且在挂装 CD 或打开终端窗口时需要帮助,请参阅“
针对 Linux 开发新手的基本任务”,这篇文章讲述了这些任务和更多信息。
先决条件
打开一个终端窗口。如果您在执行这一任务时需要帮助,请参阅我们的“
针对 Linux 开发新手的基本任务”。首先,使用带
-r 选项的
uname 命令来验证内核级别。然后,使用
which 命令来检查是否安装了 ksh (the Korn shell) 和 Netscape。如果您知道软件包名称,则可以使用
rpm 命令。
[root@attic root]# uname -r
2.4.18-3
[root@attic root]# which ksh
/bin/ksh
[root@attic root]# which netscape
/usr/bin/netscape
[root@attic root]# rpm -q pdksh
pdksh-5.2.14-16
[root@attic root]# rpm -q netscape-communicator
netscape-communicator-4.79-1
[root@attic root]# |
如果没有安装 pdksh 软件包,请在安装 IBM DB2 试用软件之前,先参阅文章“
Installing prerequisite Linux packages”。
如果没有安装 Netscape,但是却安装了 Mozilla,您可以使用带
-s 选项的
ln 命令来创建一个从 Mozilla 到 Netscape 的
符号链接,如下所示。
[root@attic root]# which mozilla
/usr/bin/mozilla
[root@attic root]# ln -s /usr/bin/mozilla /usr/bin/netscape
[root@attic root]# |
解压缩文件
磁盘大小通常以兆字节(使用 1,000 的乘方,而不是许多其他计算机度量所采用的 1,024 的乘方)为单位计量。这里的所有大小都是指 1,000 的乘方,所以 1 兆字节是 1,000,000 个字节,而不是 1,048,576 个字节。大约需要 520 MB 的磁盘空间临时用于从 CD 解压缩文件。如果下载 DB2 Enterprise Sever Edition for Linux(32 位)的 tar 文件(DB2_V81_ESE_LNX_32_NLV.tar),则另需要 508 MB 用于下载。当对下载文件进行解压缩之后,马上就可以删除它,在您安装了想要安装的功能部件之后,就可以删除已解压缩的文件。
以 root 用户身份登录,并打开一个终端窗口。我们的示例将在 root 用户的主目录中创建一个名为 db281 的临时目录。如果您愿意,也可以使用其他位置。
使用
df 命令来验证包含 /root 目录的文件系统中是否至少有 520 MB 的可用空间。如果要下载到相同位置,请确保至少有 1030 MB 的可用空间。注意,~(代字号)指当前用户的主目录,所以可以将 ~ 或 /root 用作
df 命令的参数。要获得使用 1,000 的倍数而不是使用 1,024 的倍数的磁盘块数来表示的人类可读的报告,需添加
-H 选项。
[root@attic ss3db2]# df -H ~
Filesystem Size Used Avail Use% Mounted on
/dev/hdb5 4.6G 2.6G 1.8G 59% /
[root@attic ss3db2]# df -H /root
Filesystem Size Used Avail Use% Mounted on
/dev/hdb5 4.6G 2.6G 1.8G 59% /
[root@attic ss3db2]# |
对于典型安装,在 /opt 文件系统中至少需要有 500 MB 的可用空间,在 /home 文件系统中至少需要有 50 MB 的可用空间。另外,还必须有用于数据库的空间。
使用不带参数的
cd 命令更改到 root 用户的主目录。然后,创建名为 db281 的临时目录并更改至该目录。
[root@attic root]# cd
[root@attic root]# mkdir db281
[root@attic root]# cd db281
[root@attic db281]# |
挂装 Speed Start your Linux app 1Q 2003 CD 集中的第 2 张盘(或者 2Q 2003 CD 集中的第 2 张盘)。这些步骤中的示例使用的是带有 GNOME 桌面的 Red Hat Linux 7.3 系统。(如果您使用的是 SuSE Linux 系统,则 CD 很可能挂装在 /media/cdrom 或 /cdrom,而不是 /mnt/cdrom 处。)使用浏览器打开 CD 根目录上的 index.html 文件(在我们的示例中是 /mnt/cdrom/index.html),然后查看许可证条款。如果系统启用了自动挂装,那么会为您打开该文件。接下来,在 d81eeuxe 中找到 d81eeuxe.tar.gz 并使用带
-zxvf 选项的
tar 命令来对它进行解压缩和解包。如果您使用的是 2Q 2003 CD 集,那么您将会从 d8eseuxe 解压缩 d8eseuxe.tar.gz。如果下载了 DB2_V81_ESE_LNX_32_NLV.tar,则只需要
-xvf 选项,因为该文件未被压缩。
root@attic db281]# ls /mnt/cdrom
autopp.ini autorun.exe d81eeuxe ids51uxi template.css
autorun autorun.inf devcon index.html
[root@attic db281]# ls /mnt/cdrom/d81eeuxe
d81eeuxe.tar.gz
[root@attic db281]# tar -zxvf /mnt/cdrom/d81eeuxe/d81eeuxe.tar.gz
./
./db2_deinstall
./db2_install
./db2setup
.
.
.
./doc.cmn/db2qt/images/statubgd.jpg
./doc.cmn/db2qt/images/tab_separator.gif
[root@attic db281]# |
安装 DB2 for Linux
以 root 用户身份登录。您将需要一个图形环境,所以如果使用
su 命令切换到 root 用户,请确保显示器设置正确。如果您刚接触 Linux,请参考“
针对 Linux 开发新手的基本任务”,以获取诸如切换用户、设置显示器、挂装 CD-ROM 和打开终端窗口之类任务的信息。
- 打开一个终端窗口。对非 root 用户,许多提示符在结尾处显示
$ 符号,对 root 用户,则在结尾处显示
# , 而一些提示符将用户名作为提示符的一部分显示。如果您不能确定当前用户的身份,可以通过运行
whoami 命令来检查。
[ian@echidna ian]$ whoami
ian
[ian@echidna ian]$ su
Password:
[root@echidna ian]# |
- 如果您刚刚解压缩了 DB2 安装代码,那么应该仍然还在我们为解压缩所创建的临时目录(/root/db281)中。如果不在该目录中,那么现在使用
cd 命令更改到该目录。
- 如果使用的是多处理器系统而且内核版本大于 2.4.10,那么需要在安装脚本中注释掉两行。通过使用
vi 编辑器或您所选的其他编辑器,编辑文件 ./db2/linux/install/db2setup 并将设置
LD_ASSUME_KERNEL 环境变量的那两行代码注释掉,这样它们类似于:
# LD_ASSUME_KERNEL=2.2.5
# export LD_ASSUME_KERNEL |
注意:如果是单处理器系统,就
不必这样做。
- 如果您使用的是 Red Hat 9,其中带有新的线程库 Native POSIX Thread Library (NPTL),那么 DB2 所使用的 Java 安装代码将不能工作。您可以在启动安装程序 (db2setup) 之前,通过将环境变量
LD_ASSUME_KERNEL 设置为 2.2.5 来强制为兼容模式。
LD_ASSUME_KERNEL=2.2.5
export LD_ASSUME_KERNEL |
注意:这对于 DB2 V8.1 不是受支持的平台,因此有些功能可能无法预期地工作。您也应该为那些想使用 DB2 Control Center 或其他 Java 工具的用户(例如 db2inst1),将这两行代码添加到 .bashrc 概要配置文件。
- 通过输入
./db2setup 启动 DB2 安装过程。出于安全性方面的原因,不应该使 root 从当前目录自动运行程序,所以需要前导
./ 。您应该看到类似于下面的屏幕:
图 1. 启动 db2setup
您可以阅读安装说明,如果愿意,也可以快速浏览一遍。注意,如果运行 Netscape 4.79,快速浏览启动程序会弹出一个窗口,表示不能运行快速浏览。如果您仍然单击链接来运行它,则可以将产生的 URL 从 Netscape 4.79 剪贴到 mozilla 之类受支持的浏览器中。准备就绪时,单击
Install products以开始安装。
- 我们将通过选择 DB2 Enterprise Server 来开始。确保选中该项并单击
Next。
图 2. 选择 DB2 Enterprise Server 安装
- 您将看到安装向导的介绍性屏幕。单击
Next。查看并接受许可证。再次单击
Next。选择安装类型。我们将选择
Typical。如果您愿意,可以添加“Data warehousing”。您可以单击
View features按钮来查看将要安装的功能部件,但是如果需要更改它们,则应该执行
Custom安装。准备就绪时,单击
Next。
图 3. 选择安装类型
- 在该练习中,将不设置分区数据库,所以无需将响应保存在响应文件中。单击安装操作屏幕上的
Next,继续前进至 DAS 用户屏幕。如果安装了先前版本的 DB2,那么显示的屏幕可能会有点不同。
图 4. 设置 DB2 管理服务器用户标识
- 按 Enter 键。现在,选择选项来创建 DB2 实例。按制表键或使用光标移动键,直到“Create a DB2 Instance”突出显示,然后按空格键。这将把您带到该实例的第一个定制屏幕。默认的实例名是 db2inst1,并将创建同名的系统用户。如果未选择口令,则 ibmdb2 将被用作口令。我们建议您选择自己的口令。该实例的数据库将创建在该用户的主目录中,除非您在创建数据库时指定了另一个位置。输入您期望的口令两次,或接受默认值,然后按制表键到 Properties selection,屏幕类似于:
图 5. 创建 DB2 实例
- 单击
Next。接受下一屏上针对单个分区实例的选项,然后指定该实例所有者和保护的用户的口令。用户定义的函数以受保护用户的标识运行,出于安全性方面的原因,该标识不应该与该实例所有者的标识相同。
- 如果这是您的第一个 DB2 数据库,那么建议您创建一个工具编目( tools catalog)。
图 6. 创建 DB2 工具编目
单击
Next 并接受默认值,使工具编目创建在新的实例中。
- 接下来,可以指定要通知的用户标识。如果当前没有运行 SMTP 服务器,则仍可以设置联系人列表,但要禁用
Enable notification 复选框。
图 7. 指定联系人列表
- 接下来,可以接受或更改某标识的默认值,以便该标识在超出数据库运行状况阈值时接收运行状况通知。在完成运行状况监控程序选择之后,您应该会看到有关选项的摘要。复查这些选项,然后单击
Finish 以开始复制文件并设置系统。
图 8. 开始复制文件
- 当安装完成时,您应该会看到一个安装后摘要。
图 9. 安装后摘要
此时,您已经安装了 DB2 及其管理服务器,并创建了一个 DB2 实例。如果您稍后需要添加一些东西,始终可以重新运行
db2setup 。
配置内核参数
使用 2.4.x 系列 Linux 内核的系统,其
msgmni (消息队列)参数的默认值是 16,这只允许 DB2 有两个同时的连接。而且,必须为 DB2 更改信号数组参数才能成功运行。
注意:如果先前为 DB2 V7.2 更新了这些参数,那么新值会有所不同。
- 要检查共享内存段、信号数组和消息队列限制,可发出
ipcs -l 命令。输出将类似于:
[root@attic root]# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 262144
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
------ Messages: Limits --------
max queues system wide = 1024
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384 |
- 要更改内核参数,在默认的系统控制配置文件 /etc/sysctl.conf 中添加下列项:
kernel.msgmni = 512
kernel.sem=250 128000 32 1024 |
注意:如果您的系统还没有 /etc/sysctl.conf 文件,那么您需要创建一个。
我们将用
vi 命令来利用 vi 编辑器编辑该文件。如果您更愿意使用其他编辑器(如
gedit 或
Emacs ),请尽管使用。我们在此任务中使用
vi 只是为了演示该编辑器,在所有 UNIX 和 Linux 系统上都能找到该编辑器。尽管的确存在图形版本 (vim),但 vi 编辑器并不是图形编辑器。您得使用命令来移动和删除或更改字符、单词或行。如果想要知道有关 vi 或 Emacs 的更多信息,请参阅本文后面的
参考资料中列出的教程。
要用 vi 编辑器编辑 /etc/sysctl.conf,可输入
vi /etc/sysctl.conf 。按住 Shift 键的同时按
g 以移动至文件末尾。输入
o ,以在文件末尾打开一个新行用于输入。可以在 vi 窗口中将上面的两行代码输入到文件末尾,也可以复制到文件末尾。
提示:如果您有三键鼠标(或者如果您将鼠标设置成靠两个键的配合来模拟第三个键 —— 即同时按下这两个键),则可以按下左键并在一个窗口的文本上拖动,然后使用中间键(或同时按下两键鼠标上的两个键),将突出显示的文本粘贴到命令的其余地方。可以在一个窗口中或几个窗口之间使用这个方便的窍门。
按 Esc 键,退出插入方式。如果您犯了个错误,则输入
:q! 以退出而不进行任何保存。不然,在输入
zz 的同时按住 Shift 键,以保存文件。
- 运行带
-p 参数的
sysctl ,以从默认的 /etc/sysctl.conf 装入系统控制设置。
[root@attic root]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.msgmni = 512
kernel.sem = 250 128000 32 1024
[root@attic root]# |
以后,网络初始化脚本将在启动期间从 sysctl.conf 文件读取这些项。现在,您只要手工运行
sysctl 就可更新参数,而无需重新引导。如果您愿意,可以再次运行带
-l 选项的
ipcs 命令来查看更改后的值。

 |

|
安装 JRE
DB2 V8.1 需要 Java 运行时环境。安装向导如果没有找到这个环境,那么它将在 /opt/IBMJava2-131 中为您安装 V1.3.1。不必单独安装 Java。
参考资料
关于作者  | |  | Ian Shields 目前正在为 developerWorks Linux 专区研究 Linux 技术,他是 IBM 北卡罗莱那州 Research Triangle Park 的一名高级程序员。他于 1973 年作为一名系统工程师加入 IBM 位于澳大利亚堪培拉的分公司,之后在加拿大蒙特利尔和美国北卡罗莱那州 RTP 从事通信系统和普及运算方面的工作。他有几项专利。他毕业于 Australian National University,本科学位是纯数学和哲学。他已经从北卡罗莱那州立大学获得了计算机科学硕士学位,现在,他正在那里攻读博士学位。可以通过
ishields@us.ibm.com 与 Ian 联系。
|
对本文的评价
|