IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Linux  >

快速启动您的 Linux 应用: 安装 DB2 和 JRE

如何安装和配置 DB2 for Linux 和 Java 运行时环境

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Kevin Czap (kczap@us.ibm.com), 电子商务架构设计师, IBM 
Ian Shields, 高级程序员, IBM 

2002 年 7 月 01 日

本文将指导您轻松地完成安装 DB2 和 IBM Java 运行时环境(JRE)的步骤。本文适用的对象是那些不熟悉 Linux 或基于 UNIX 操作系统的开发人员。

在本文中,我们将完成下列任务:

  • 查询 Linux 中已安装的软件包,如 pdksh
  • 使用 su 命令来切换用户
  • 使用 db2setup 命令来定制 DB2 安装
  • 配置内核参数以改进 DB2 for Linux 的性能
  • 使用 rpm 命令来安装 JRE
  • 在 Linux 中使用符号链接

开始之前

安装 Red Hat Linux 7.1Red Hat Linux 7.2SuSE Linux 7.3

如果您不熟悉 Linux 并且在挂装 CD 或打开终端窗口时需要帮助, 请参阅 Basic tasks for new Linux developers, 这篇文章讲述了这些任务和更多任务。





回页首


先决条件

打开一个终端窗口。如果您在执行这一任务时需要帮助,请参阅我们的 Basic tasks for new Linux developers。 使用 which 命令来检查是否安装了 ksh(Korn shell)和 Netscape。如果您知道软件包名称,则可以使用 rpm 命令。


清单 1. 检查 Korn shell 和 Netscape
[root@echidna root]# which ksh
/bin/ksh
[root@echidna root]# which netscape
/usr/bin/netscape
[root@echidna root]# rpm -q pdksh
pdksh-5.2.14-13
[root@echidna root]# rpm -q netscape-communicator
netscape-communicator-4.78-2

如果没有安装 pdksh 软件包,则请在安装 IBM DB2 试用软件之前,参阅文章“ Installing prerequisite Linux packages”。

对于典型安装,使用 df 命令来验证在包含 /usr 目录的文件系统中是否至少有 200 MB 的可用空间,以及包含 /home 目录的文件系统是否有 40 MB 的可用空间。 为了获得以 MB(而不是 KB)表示的报告,将 -m 选项添加到 df 命令。如果象这个示例一样,/home 和 /usr 都挂装在 / 上, 那么需要确保 / 共包含 240 MB。


清单 2. 检查是否有足够可用空间
[root@echidna root]# df -m /usr
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/hda6                 4918      2280      2388  49% /
[root@echidna root]# df -m /opt
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/hda6                 4918      2280      2388  49% /
[root@echidna root]# df /home
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda6              5036284   2334356   2446096  49% /
[root@echidna root]#

如果打算从“Speed-start your Linux app”下载页面(而不是从 CD)下载 DB2 代码, 则需要大约 360 MB 的空间用于存放压缩文档(tar)文件,并需要相似数量的空间用于解压缩的内容。





回页首


安装 DB2 for Linux

这些步骤中的示例引用了带 GNOME 桌面的 Red Hat Linux 7.2 系统。 (如果您正在使用 SuSE Linux 系统,则 CD 很可能挂装在 /cdrom ,而不是 /mnt/cdrom 。)

如果您不熟悉 Linux,则请参考 Basic tasks for new Linux developers, 以获取如挂装 CD-ROM 和打开终端窗口之类任务的帮助。

1. 您将“Speed-start your Linux app (2Q 2002)”CD 集的 CD 1 放在 CD 驱动器中并将其挂装了吗?如果是,则跳到第 3 步。(如果您正在使用其它 CD 集,如 developerWorks Toolbox Sample CD,则浏览 index.html 文件,找到 DB2 代码的确切目录,然后继续执行第 3 步。)

2. 或者,如果您没有 CD 而又愿意从 IBM 下载代码, 则可以进行 下载并对代码解压缩。 大约需要 360 MB 空间来下载文件和另外 360 MB 空间来对它解压缩。 要下载的文件是 040_EE_LNX_NLV.tar。 这是 tar 或磁带压缩文档、文件,它是 UNIX 和 Linux 中打包文件集的常用格式。我把下载的文件放在 /download 目录中,但您可以使用任何您希望使用的可用空间。 更改到下载文件的目录,并使用带 -xvf 选项的 tar 命令对它解压缩。您将看到正在解压缩的文件:


清单 3. 解压缩 DB2 文件
[root@echidna root]# cd /download
[root@echidna download]# ls 040*     
040_EE_LNX_NLV.tar
[root@echidna download]# tar -xvf 040_EE_LNX_NLV.tar
040_EE_LNX_NLV/
040_EE_LNX_NLV/db2_install
040_EE_LNX_NLV/db2_deinstall
040_EE_LNX_NLV/db2setup

3. 打开一个终端窗口。如果您没有作为 root 用户运行, 则使用 su 命令来切换到 root 用户。 对非 root 用户,许多提示符在结尾处显示 $ 符号, 对 root 用户,则在结尾处显示 # ,而一些提示符将用户名作为提示符的一部分显示。 如果您不能确定当前用户的身份,可以通过运行 whoami 命令来检查。


清单 4. 使用 su 切换至 root 用户
[ian@echidna ian]$ whoami
ian
[ian@echidna ian]$ su
Password: 
[root@echidna ian]#

4. 使用 cd 命令,以更改至 CD 上的 db72pf5u 目录,或更改至从下载文件解压缩的 040_EE_LNX_NLV。 例如:


清单 5. 更改至 db72pf5u 目录
cd /download/040_EE_LNX_NLV
	或(在 Red Hat Linux 系统上):
cd /mnt/cdrom/db72pf5u
	或(在 SuSE Linux 系统上):
cd /cdrom/db72pf5u

5. 通过输入 ./db2setup 启动 DB2 安装。注:如果没有使用 root 从当前目录自动运行程序,则需要前导 ./ 。您应该看到类似于下面的屏幕:


图 1. 启动 db2setup
启动 db2setup

db2setup 屏幕上,通过按空格键来对项进行选择或取消选择。选中的项用星号(*)表示,您的当前位置以反白方式突出显示。通过按 Tab 键或向上、下、左或右箭头键在屏幕上导航。通过移动或跳格到域然后按 Enter 键来选择如 OK、Cancel 或 Help 之类的操作。

6. 我们将从选择和定制 DB2 Administration Client 开始。按空格键,您应该看到一个星号,表示选中了 DB2 Administration Client。 然后,按一下 Tab 键,customize... 域将被突出显示。 按 Enter 键,您应该看到类似于下面的屏幕:


图 2. 定制 DB2 Administration Client
定制 DB2 Administration Client

7. 向下移动并选中 Control Center,这样它旁边就有一个星号(*)。跳格直至 OK 选项被突出显示,然后按 Enter 键。 您应该返回到在第 4 步中离开的屏幕。

8. 选中 DB2 UDB Enterprise Edition 和 DB2 Application Development Client。 您可以研究其它定制选项,例如,如果您希望用英语以外的其它语言显示消息。 准备就绪时,向下跳格到 OK 选项,屏幕类似于:


图 3. DB2 的附加选择
DB2 的附加选择

9. 按 Enter 键。现在,选择选项来创建 DB2 实例。跳格或使用光标移动键,直到 Create a DB2 Instance 突出显示,然后按空格键。这将把您带到该实例的第一个定制屏幕。缺省实例名是 db2inst1,并且将创建同名的系统用户。如果未选择密码,则 ibmdb2 将被用作密码。 我们建议您选择您自己的密码。该实例的数据库将创建在该用户的主目录中, 除非在创建数据库时指定另一个位置。输入您期望的密码两次,或接受缺省值,然后跳格到 Properties 选择, 屏幕类似于:


图 4. 创建 DB2 实例
创建 DB2 实例

10. 按 Enter 键。在下一屏上,向下移动到 Create a sample database for DB2 Instance,然后按空格键以选中它。 这将创建可用于研究 DB2 的样本数据库。接着,跳格到 OK 选项,按 Enter 键。

11. 当返回到 DB2 实例创建屏幕时,跳格到 OK 选择,按 Enter 键。 现在,将为 受限用户选择用户标识和密码,这里会执行用户定义的函数(UDF)和存储过程。 我们再次建议您选择缺省用户标识并选择您自己的密码。和前面一样,缺省密码是 ibmdb2。

12. 跳格到 OK 选项,按 Enter 键。接受 Set up DB2 Warehouse Control Database 的缺省值。继续跳格至 OK 并按 Enter 键, 直到返回到 Create DB2 Services 屏幕,您现在看到的屏幕应该类似于:


图 5. 返回到 Create DB2 Services
返回到 Create DB2 Services

13. 我们建议您向下跳格至 Create the Administration Server,按空格键选中它。 选择您自己的密码或接受缺省值。连续选择 OK,直到返回到 Create DB2 Services 屏幕。选择 OK,然后按 Enter 键。 您将看到一个摘要屏幕,类似于:


图 6. DB2 安装确认
DB2 安装确认

在安装开始之前,您另外还有一次退出机会,然后安装将开始。 当安装完成时,您可以按 Enter 键,直到离开 db2setup 实用程序。

此时,您已经安装了 DB2 及其 Administration Server,并创建了 DB2 实例和样本数据库。如果您稍后需要添加一些东西,始终可以重新运行 db2setup





回页首


配置内核参数

使用 2.4.x 系列 Linux 内核的系统,其 msgmni (消息队列)参数的缺省值是 16, 这只允许 DB2 有几个并发连接。此外,必须更改 DB2 的信号数组参数才能成功运行。

1. 要检查共享内存段、信号数组和消息队列限制,发出 ipcs -l 命令。 输出将类似于:


清单 6. 显示内核参数
[root@dhcppc4 etc]# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 128
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 = 16
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384

2. 要更改内核参数,在缺省的系统控制配置文件 /etc/sysctl.conf 中添加下列项:


清单 7. 编辑 /etc/sysctl.conf
kernel.msgmni = 512
kernel.sem=250  128000  32 512

我们将用 vi 命令来使用 vi 编辑器编辑该文件。 如果您更愿意使用您所知道的其它编辑器(如 geditEmacs ), 请随意使用该编辑器。我们在本任务中使用 vi 只是为了说明该编辑器,可以在所有 UNIX 和 Linux 系统上找到该编辑器。尽管图形版本(vim)的确存在,但 vi 编辑器不是图形编辑器。 您使用命令来移动并删除或更改字符、字或行。 如果您想要知道有关 vi 或 Emacs 的更多信息,请参阅本文后面的 参考资料中列出的教程。

要用 vi 编辑器编辑 /etc/sysctl.conf,输入 vi /etc/sysctl.conf 。 按住 Shift 键同时按 g 以移动至文件末尾。 输入 o ,以在文件末尾打开一个新行用于输入。 或者在 vi 窗口中将上面 清单 7中的两行输入或复制到文件末尾。

提示:如果您有三个按键的鼠标(或者如果您将鼠标设置成靠两个按键的配合来模拟第三个按键 ― 即同时按下这两个按键), 则可以按下左按键并在一个窗口的文本上拖动,然后使用中间按键(或同时按下两键鼠标上的两个按键),将突出显示的文本粘贴到命令的其余地方。可以在一个窗口中或窗口之间使用这个方便的窍门。

Esc 键,退出插入方式。 如果您犯了个错误,则输入 :q! 以退出而不进行任何保存。否则,在输入 zz 的同时按住 Shift 键,以保存文件。

3. 运行带 -p 参数的 sysctl ,以从缺省的 /etc/sysctl.conf 装入系统控制设置。


清单 8. 激活内核参数
[root@dhcppc4 etc]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
kernel.msgmni = 512
kernel.sem = 250  128000  32 512
[root@dhcppc4 etc]# 

以后,网络初始化脚本将在启动期间从 sysctl.conf 文件读取这些项。 现在,您只要手工运行 sysctl 就可更新参数,而无需重新引导。如果您愿意, 可以再次运行带 -l 选项的 ipcs 命令来查看更改过的值。





回页首


下载和安装 JRE

DB2 Control Center 需要 Java 运行时环境(JRE)版本 1.1.8、1.3 或 1.3.1。在这些步骤中, 我们将下载和安装 V1.3.1,并且还将顺便指出其它版本的差异。

1. 打开 IBM Developer Kit for Linux: Overview 页面。我们将在一个新窗口中打开它,这样您仍可以参考这些指示信息。 选择 Runtime Environment Package,完整地执行下载的注册过程,直到到达下载页面为止。 选择 IBMJava2-JRE-1.3.1-1.0.i386.rpm 下载。大约需要 20 MB 的可用空间用于下载。我把 /download 目录用于我的下载文件,但您可以使用任何您所希望的可用空间。

2. 打开终端窗口,更改至下载了 RPM 文件的目录。使用带 -i 选项的 rpm 命令来安装 JRE。

提示:对于象这种可能会引起输入错误的长文件名,使用带通配符的 ls 命令来列出它。 如果您有三个按键的鼠标(或者如果设置两键鼠标,通过同时按下两个按键来将鼠标模拟成三个按键),则可以键入 rpm -i 部分并尾随一个空格,然后使用左按键来双击该名称或在该名称上拖动以突出显示它,最后使用中间按键(或同时按下两个按键),将突出显示的文本粘贴到命令的其余地方。可以在一个窗口中或窗口之间使用这个方便的窍门。

清单 9. 安装 JRE
[root@echidna ian]# cd /download
[root@echidna download]# ls IBMJ*
IBMJava2-JRE-1.3.1-1.0.i386.rpm
[root@echidna download]# rpm -i IBMJava2-JRE-1.3.1-1.0.i386.rpm
[root@echidna download]#

3. 安装完成后,您还需要用 1.3.1 JRE 来完成一些任务。对于较早的 1.1.8 JRE,不需要这些任务, 所以如果您安装了该 JRE,则可以向下跳至 结束语。1.3.1 JRE 不包括单独的 jre 命令,但 DB2 Control Center 希望有一个这样的命令, 所以我们将创建一个符号链接,以使名称 jrejava 命令相关联。如果您熟悉 Windows 中的快捷方式, 则可以将它看作一个快捷方式。首先,需要更改至包含 java 命令的目录, 然后使用带 -s 选项的 ln 命令来创建链接, 以便只要程序(或用户)要求 jre 命令时,都将调用 java 命令。 可以使用带 -l (长)选项的 ls 命令来列出 jre 项, 并查看它是否真的是至 java 命令的链接。下面的屏幕显示了这些命令:


图 7. 创建符号链接
jre 至 java 的符号链接

4. db2cc 脚本调用带 -nojit 选项的 JRE,而 1.3.1 JRE 不支持这个选项。需要从该脚本中除去这个选项。 该脚本被安装为只读,所以我们将向您演示如何将它更改为读/写、编辑它,然后将它返回到只读状态:

  1. 首先,更改至 /usr/IBMdb2/V7.1/bin 目录。
  2. 使用带 -l 选项的 ls 命令来显示 db2cc 命令的权限。 您将看到用户、组和所有权限的读(r)和执行(x)位设置。
  3. 使用带 u+w 选项的 chmod 命令来设置允许所有者(root 用户)写文件的许可权。
  4. 再次使用 ls 命令来查看新权限。


清单 10. 更改文件权限
[root@dhcppc4 root]# cd /usr/IBMdb2/V7.1/bin
[root@dhcppc4 bin]# ls -l db2cc
-r-xr-xr-x    1 bin      bin          1528 Jan  9 12:19 db2cc
[root@dhcppc4 bin]# chmod u+w db2cc
[root@dhcppc4 bin]# ls -l db2cc
-rwxr-xr-x    1 bin      bin          1528 Jan  9 12:19 db2cc
[root@dhcppc4 bin]# vi db2cc

5. 您可以再次使用 vi 或其它编辑器。对于该练习,我们要找到 -nojit 选项,它出现在第 44 行,我们要删除该选项,然后保存文件。在 vi 编辑器中使用 / 命令来查找, 通过输入 /-nojit 并按 Enter 键来找到 -nojit 。您应该看到在 -nojit- 上面有一个块光标,如 图 8 中所示。 如果您现在按 ctrl-g 来显示位置,则将在屏幕的底部看到当前行号(44)。


图 8. 用 vi 编辑器定位文本
用 vi 定位 -nojit

6. 要完成编辑,使用 dw (删除字)命令来删除光标位置处的字。 注:只删除 - 符号,因为 vi 在除去字时将标点符号看作字。 此时,您可以再次使用 dw 命令,或使用 . (点或句点)命令,该命令重复上一次编辑操作。 输入 (Shift+z Shift+z) 以保存文件,或者通过输入 (:q!) 来取消编辑会话,然后再试一次。

7. 一旦保存了文件,就可以使用带 u-w 选项的 chmod 命令,使该文件再次变成只读的, 并如您前面所做的那样,使用 ls 命令来验证操作。事实上,因为您不想让 任何人对该文件进行写操作, 所以将 -w 选项与 chmod 一起使用就足够了,它将关闭 所有写权限。





回页首


结束语

祝贺您!您已经安装了 DB2 实例和 DB2 Administration Server。并已经安装了 DB2 Control Center 和 DB2 样本数据库。 (要学习如何使用 DB2 和 Control Center,请阅读下一篇文章“ Using DB2 and the DB2 Control Center”。) 您学习了如何更新 Linux 内核参数来改进 DB2 性能。还安装了 IBM Java 运行时环境。 并且学习了使用 rpm 命令和 vi 编辑器的方法。



参考资料



作者简介

Kevin Czap 是 IBM 认证的解决方案设计师和技术专家,他在德克萨斯州奥斯汀工作。 他的兴趣范围包括 Linux、DB2 和 Harley-Davidson(排名不分先后)。 可以通过 kczap@us.ibm.com与 Kevin 联系。


Ian Shields 目前正在为 developerWorks Linux 专区研究 Linux 技术, 他是 IBM 北卡罗莱那州 Research Triangle Park 的一名高级程序员。 他于 1973 年作为一名系统工程师加入 IBM 位于澳大利亚堪培拉的分公司。 之后,在加拿大蒙特利尔和北卡罗莱那州 RTP 从事通信系统和普及计算。他有几项专利权。 他毕业于 Australian National University,本科学位是纯数学和哲学。 他已经从北卡罗莱那州立大学获得了计算机科学硕士学位,现在,他正在那里攻读博士学位。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?







回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款