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

来源:互联网 发布:mysql update select 编辑:程序博客网 时间:2024/05/01 09:41

开始之前

有关受支持的 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 -r2.4.18-3[root@attic root]# which ksh/bin/ksh[root@attic root]# which netscape/usr/bin/netscape[root@attic root]# rpm -q pdkshpdksh-5.2.14-16[root@attic root]# rpm -q netscape-communicatornetscape-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 /rootFilesystem            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/cdromautopp.ini  autorun.exe  d81eeuxe  ids51uxi    template.cssautorun     autorun.inf  devcon    index.html[root@attic db281]# ls /mnt/cdrom/d81eeuxed81eeuxe.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 和打开终端窗口之类任务的信息。

  1. 打开一个终端窗口。对非 root 用户,许多提示符在结尾处显示 $ 符号,对 root 用户,则在结尾处显示 # , 而一些提示符将用户名作为提示符的一部分显示。如果您不能确定当前用户的身份,可以通过运行 whoami 命令来检查。
    [ian@echidna ian]$ whoamiian[ian@echidna ian]$ suPassword: [root@echidna ian]#


  2. 如果您刚刚解压缩了 DB2 安装代码,那么应该仍然还在我们为解压缩所创建的临时目录(/root/db281)中。如果不在该目录中,那么现在使用 cd 命令更改到该目录。

  3. 如果使用的是多处理器系统而且内核版本大于 2.4.10,那么需要在安装脚本中注释掉两行。通过使用 vi 编辑器或您所选的其他编辑器,编辑文件 ./db2/linux/install/db2setup 并将设置 LD_ASSUME_KERNEL 环境变量的那两行代码注释掉,这样它们类似于:
    #LD_ASSUME_KERNEL=2.2.5#export LD_ASSUME_KERNEL

    注意:如果是单处理器系统,就 不必这样做。

  4. 如果您使用的是 Red Hat 9,其中带有新的线程库 Native POSIX Thread Library (NPTL),那么 DB2 所使用的 Java 安装代码将不能工作。您可以在启动安装程序 (db2setup) 之前,通过将环境变量 LD_ASSUME_KERNEL 设置为 2.2.5 来强制为兼容模式。
    LD_ASSUME_KERNEL=2.2.5export LD_ASSUME_KERNEL

    注意:这对于 DB2 V8.1 不是受支持的平台,因此有些功能可能无法预期地工作。您也应该为那些想使用 DB2 Control Center 或其他 Java 工具的用户(例如 db2inst1),将这两行代码添加到 .bashrc 概要配置文件。

  5. 通过输入 ./db2setup 启动 DB2 安装过程。出于安全性方面的原因,不应该使 root 从当前目录自动运行程序,所以需要前导 ./ 。您应该看到类似于下面的屏幕:
    图 1. 启动 db2setup
    启动 db2setup

    您可以阅读安装说明,如果愿意,也可以快速浏览一遍。注意,如果运行 Netscape 4.79,快速浏览启动程序会弹出一个窗口,表示不能运行快速浏览。如果您仍然单击链接来运行它,则可以将产生的 URL 从 Netscape 4.79 剪贴到 mozilla 之类受支持的浏览器中。准备就绪时,单击 Install products以开始安装。

  6. 我们将通过选择 DB2 Enterprise Server 来开始。确保选中该项并单击 Next
    图 2. 选择 DB2 Enterprise Server 安装
    选择 DB2 Enterprise Server 安装
  7. 您将看到安装向导的介绍性屏幕。单击 Next。查看并接受许可证。再次单击 Next。选择安装类型。我们将选择 Typical。如果您愿意,可以添加“Data warehousing”。您可以单击 View features按钮来查看将要安装的功能部件,但是如果需要更改它们,则应该执行 Custom安装。准备就绪时,单击 Next
    图 3. 选择安装类型
    选择安装类型
  8. 在该练习中,将不设置分区数据库,所以无需将响应保存在响应文件中。单击安装操作屏幕上的 Next,继续前进至 DAS 用户屏幕。如果安装了先前版本的 DB2,那么显示的屏幕可能会有点不同。
    图 4. 设置 DB2 管理服务器用户标识
    设置 DB2 管理服务器用户标识
  9. 按 Enter 键。现在,选择选项来创建 DB2 实例。按制表键或使用光标移动键,直到“Create a DB2 Instance”突出显示,然后按空格键。这将把您带到该实例的第一个定制屏幕。默认的实例名是 db2inst1,并将创建同名的系统用户。如果未选择口令,则 ibmdb2 将被用作口令。我们建议您选择自己的口令。该实例的数据库将创建在该用户的主目录中,除非您在创建数据库时指定了另一个位置。输入您期望的口令两次,或接受默认值,然后按制表键到 Properties selection,屏幕类似于:
    图 5. 创建 DB2 实例
    创建 DB2 实例
  10. 单击 Next。接受下一屏上针对单个分区实例的选项,然后指定该实例所有者和保护的用户的口令。用户定义的函数以受保护用户的标识运行,出于安全性方面的原因,该标识不应该与该实例所有者的标识相同。

  11. 如果这是您的第一个 DB2 数据库,那么建议您创建一个工具编目( tools catalog)。
    图 6. 创建 DB2 工具编目
    创建 DB2 工具编目

    单击 Next 并接受默认值,使工具编目创建在新的实例中。

  12. 接下来,可以指定要通知的用户标识。如果当前没有运行 SMTP 服务器,则仍可以设置联系人列表,但要禁用 Enable notification 复选框。
    图 7. 指定联系人列表
    指定联系人列表
  13. 接下来,可以接受或更改某标识的默认值,以便该标识在超出数据库运行状况阈值时接收运行状况通知。在完成运行状况监控程序选择之后,您应该会看到有关选项的摘要。复查这些选项,然后单击 Finish 以开始复制文件并设置系统。
    图 8. 开始复制文件
    开始复制文件
  14. 当安装完成时,您应该会看到一个安装后摘要。
    图 9. 安装后摘要
    安装后摘要

此时,您已经安装了 DB2 及其管理服务器,并创建了一个 DB2 实例。如果您稍后需要添加一些东西,始终可以重新运行 db2setup

配置内核参数

使用 2.4.x 系列 Linux 内核的系统,其 msgmni (消息队列)参数的默认值是 16,这只允许 DB2 有两个同时的连接。而且,必须为 DB2 更改信号数组参数才能成功运行。

注意:如果先前为 DB2 V7.2 更新了这些参数,那么新值会有所不同。

  1. 要检查共享内存段、信号数组和消息队列限制,可发出 ipcs -l 命令。输出将类似于:
    [root@attic root]# ipcs -l------ Shared Memory Limits --------max number of segments = 4096max seg size (kbytes) = 262144max total shared memory (kbytes) = 8388608min seg size (bytes) = 1------ Semaphore Limits --------max number of arrays = 1024max semaphores per array = 250max semaphores system wide = 32000max ops per semop call = 32semaphore max value = 32767------ Messages: Limits --------max queues system wide = 1024max size of message (bytes) = 8192default max size of queue (bytes) = 16384


  2. 要更改内核参数,在默认的系统控制配置文件 /etc/sysctl.conf 中添加下列项:
    kernel.msgmni = 512kernel.sem=250  128000  32 1024

    注意:如果您的系统还没有 /etc/sysctl.conf 文件,那么您需要创建一个。

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

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

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

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

  3. 运行带 -p 参数的 sysctl ,以从默认的 /etc/sysctl.conf 装入系统控制设置。
    [root@attic root]# sysctl -pnet.ipv4.ip_forward = 0net.ipv4.conf.default.rp_filter = 1kernel.sysrq = 0kernel.core_uses_pid = 1kernel.msgmni = 512kernel.sem = 250 128000 32 1024[root@attic root]# 

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