LANG
如果您需要使用英语以外的语言,请选择该关键词。不同于图形安装程序的是,如果当前语言不是英语,则响应文件安装程序不会自动选择当前语言。此处的语言标记和具有 -i 选项的安装程序使用的那些标记一样。
SELECT_INSTALLED_LANGS
如果设置为 YES(是),将自动选择 DB2 已经安装的所有语言。这非常适用于在同一个系统中安装第二种产品,同时想使所有新功能保持原有的语言设置。
ENCODING
如果没有选择任何编码方法,则自动安装全部编码方法。对每种语言来说,不同的编码方法都适用。如果不需要全部的编码方法,您可以选择所需的子集。注意,ISO 或者 EUC 编码方法需要作为某些语言的反编编码方法(fall-back encoding)。
LIC_AGREEMENT
该参数向响应文件安装程序表明您已经读取并同意在 DB2 介质上所包含的许可。您可以在 db2/iceme/locale.encoding 目录中找到该许可。默认值是 DECLINE(拒绝)。您必须将其更改为 ACCEPT(接受)才能继续安装。
实例创建设置
这些设置可用于创建作为安装一部分的实例。您可以通过使用多个 INSTANCE 名称,在一次安装中创建多个实例。例如,您可以创建 INSTANCE=instancel 和 INSTANCE=instance2。对每一个实例来说,您需要利用 instance1和 instance2前缀创建所需设置的剩余部分。
大多数这些设置要么是数据库管理程序配置设置,要么是 DB2 配置文件注册表设置(所有这些可配置的设置都应当包含在响应文件中)。
其他设置允许您创建新用户,包括密码。如果选择利用响应文件创建新用户,则建议使用正确的文件系统安全性,确保在执行安装的每一台机器上仅 root 可以读取响应文件,因为密码存放在纯文本中。相反,您可能希望在使用响应文件之前,首先创建用户帐户,并设置密码。
实例用于存储 DB2 配置。这包括服务器的本地数据库和客户机及服务器的远程数据库。
如果是从前一版本中迁移实例,则不需要创建新实例。DB2 需要一个实例来执行所有操作,无论是托管本地数据库还是连接到远程数据库。
不同于将所有的设置存放在响应文件中,一种替代方案是使用 db2cf exp 命令将配置从现有实例中导出。在这种情况下,您可以按需在测试机器上精确配置主实例(包括性能调优和编目远程节点与数据库,但是不包括本地数据库),然后使用命令
“db2cfexp template”导出配置。在部署期间,您需要使用 db2cfimp 导入指定文件中存储的模板。例如,“db2cf exp db2inst.exp template”可以创建一份描述当前实例的名为 db2inst.exp 的文件。
管理服务器设置
这些设置可以用于创建 DAS。如果在示例响应文件的某一节中已经说明,某些产品允许使用管理服务器,则这些产品必须具有管理服务器。如果在目标机器上一台管理服务器也没有,则必须使用该节来创建管理服务器。与 DAS 关联的用户必须不同于任何实例使用的用户。
如果是该版本的首次安装,您仅需要创建新的 DAS。例如,如果您已经安装 Workgroup Server Edition,并且需要升级到 Enterprise Server Edition,则前次安装中的现有 DAS 足以胜任。在这种情况下,您可以注释 Administration Server 设置。
客户机部署事项
由于客户机安装的主要目的是与远程服务器通信,从正在运行中的客户机导出客户机配置文件可以简化部署,因为这样可以使编辑节点和数据库目录的工作更加轻松。
单服务器部署事项
响应文件安装无法创建本地数据库。这些数据库需要作为部署脚本的一部分创建。
并行服务器部署事项
并行环境中的服务器实例仅需要在一台计算机上创建实例。通常是安装的第一台计算机进行,并且在该计算机的本地磁盘上创建。该计算机被称作“instance owning computer”。集群中其他的计算机不必有任何创建的实例。这些计算机被称作“node(节点)”。
正如您所见,此处部署了两种不同类型的安装。第一种,创建了实例的计算机,需要安装 DB2 Enterprise Server Edition 和创建本地实例的响应文件。第二种,对每一个节点来说,需要安装 DB2 Enterprise Server Edition,同时没有创建任何实例的响应文件。第二份响应文件可以简单的从头创建:删除响应文件中有关实例的所有部分,或者,换句话说,仅保留涉及产品、安装类型、组件、语言或者许可的关键词。
创建这些响应文件的另一种方式是使用图形安装程序来安装具有实例的节点。在图形安装期间,有一个选项可以保存响应文件,以供所有的节点使用。如果您正在部署单个集群,这通常可以使操作更加简单。
并行环境中的响应文件安装无法为节点之间的 rsh 访问设置 .rhosts 文件,也不可以设置 db2nodes.cfg 文件。
创建部署脚本
该 脚本通常在 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 命令行处理程