★在UNIX 和Linux平台上部署 IBM DB2 产品
创建部署脚本
该 脚本通常在 shell 脚本中编写,但是任何语言都可以使用,包括 Perl、JavaTM 或者 C。这可以被简单的看作是包装程序处理 DB2 安装过程中不处理的安装和配置 DB2 的那些方面。脚本就是在目标机器上运行并作为部署过程一部分调用的文件。
第一步是决定需要执行什么。如果已经创建了完整的响应文件,该步骤就非常简单,否则,该步骤就会相当复杂,尤其是在您没有使用响应文件来执行安装时候。
在所有的示例中,我们假设 / share 是远程文件系统,在需要部署的所有机器上都安装为 / share。如果没有任何共享文件系统可用,则在远程安装文件系统,或者编写脚本来自动安装和卸除文件系统都是可能的。(如何固定一个文件系统已经超出了本文讨论的范围。)
文件系统可以是 NFS、AFS、DFS 或任何一种非本地文件系统。建议唯独不要使用 Samba 文件系统,原因在上面的“创建代码服务器”一节中已经给出。
DB2 Run-time Client 将用作示例产品,但是其步骤与所有产品的步骤相同。
部署响应文件安装
这是最简单的情况。由于产品定义、组件选择和实例设置几乎已经由响应文件完全封装,很多工作可以通过简单的调用响应文件来完成:
/share/rtcl/db2setup -r /share/rtcl/db2rtcl.rsp
在此,我们已经将自定义的响应文件存放在产品的 /share/rtcl 目录中。
安装后工作
由于 Run-time Client 的正常使用还包含远程服务器和数据库的目录编辑,我们还可以自动化执行目录编辑。我们可以使用 db2cfimp(如果我们使用 db2cfexp 按照上述操作来导出它们)来自动完成操作,也可以手动编辑目录。例如,利用已经创建的实例 db2instl 来使用 db2cfimp:
su - db2instl -c ". sqllib/db2profile;
db2cfimp /share/rtcl/db2inst.exp"
利用同一个已经创建的实例手动编辑目录:
su - db2instl -c ". sqllib/db2profile;
db2 catalog tcpip node ..."
在第二种情况下,最好将目录编辑命令存放在另一份文件中,然后允许 DB2 命令行处理程序读取该文件:
su - db2instl -c ". sqllib/db2profile;
db2 –tvf /share/rtcl/catalog.db2"
另外一份文件可以执行设置 DB2 所需的其他操作。例如,
catalog tcpip node server remote serverhostname;
catalog database sample at node server;
update dbm cfg using jdk_path /opt/lBMJava2-141;
服务器事项
在服务器部署中,通常需要附加命令来创建和设置数据库、表空间、表,等等。至于客户机,创建单个 /share/ddi/createdb. db2 脚本即可简化部署脚本。
并行服务器事项
除了上述的服务器事项以外,在并行环境中,部署脚本必须可以按需更新 .rhosts 和 db2nodes.cfg 文件。
使用 db2_install 部署安装
虽然该方法绕开了响应文件创建步骤,但是它也错过了响应文件安装带来的所有方便之处。
安装阶段相当简单:
/share/rtcl/db2_install -p DB2.RTCL -n
产品标识符对每一种产品来说都是唯一的:请参考产品文档,以获取更多关于 db2_install 命令的信息,或者运行 db2_install(无任何参数),以查看产品清单。
如果需要其他语言支持,则部署脚本必须逐个安装。有关如何执行该操作的更多信息,请参见下面的“部署手动安装”一节。
试运行阶段
部署脚本现在还需要按需处理用户、实例和 DAS 的创建。创建用户是特定于操作系统的功能,应当参考操作系统指南。实例和 DAS 的创建将在“DB2 安装和配置补充说明”中讨论。
有关其他安装后工作的信息,请参见上面“部署响应文件安装”一节中的相关小节。
部署手动安装
该方法的优势是,它是一种安装的最精确方法,同时也是一种准备和调试时间最密集型的方法。因为它还是较高级的安装,是专为了解操作系统封装格式的系统管理员提供的,所以本文将知识水平进行了假定。
该部署脚本的第一阶段是拟定 DB2 代码本身。这是独立于系统之外的,因为 DB2 使用每一种操作系统所固有的安装工具。
• 在 AIX 上,DB2 使用 installp 命令。
• 在 Solaris 上,DB2 使用 pkgadd 命令。
• 在 HP-UX 上,DB2 使用 swinstall 命令。
• 在 Linux 上,DB2 使用 rpm 命令。
在该情况下成功编写部署脚本的关键是:了解适用于您的操作系统的工具,了解哪一个软件包包含所需的 DB2 代码,了解安装的顺序。中级和高级 shell 脚本用户可以在安装介质的 db2/platform 目录中的 db2_install 脚本中找到该信息。
例如,要在 Linux 上安装具有 JDBC 支持和 French 消息的精简 Run-time 客户机,请执行以下命令(为简洁起见调整命令行):
rpm -ivh IBM_db2msen81 IBM_db2cliv81 IBM_db2msfr81 IBM_msFR81 IBM_cucs81 IBM_jdbc81 IBM_db2conv81 IBM_db2rtsg81
rpm 的顺序与 db2_install 脚本中的顺序相同。在某些系统中,顺序是很重要的;而在其他系统中,将所有的软件包放在一行中允许安装程序按需记录它们,以实现操作系统先决条件。
为了确定您需要安装哪一些软件包,请查看同一目录中的 ComponentList.htm 文件,以获取有关描述的完整清单。
手动安装脚本的第二阶段是试运行阶段。有关该阶段的更多信息,请参见上面的“使用 db2_install 部署安装”一节中的相关小节。
0
相关文章