和应用程序一起透明地安装 IBM DB2 Universal Database Express Edition

内容:
引言
生成响应文件
对无人照管的安装使用响应文件
安装注意事项
创建并安装数据库
卸载 DB2 UDB Express
结束语
其它参考资料
致谢
关于作者
对本文的评价
订阅:
developerWorks 时事通讯

Michael X. Gao
DB2 UDB 顾问, IBM Canada
2003 年 6 月

DB2 UDB Express 允许您使用一种方便的、响应文件的方法来安装 DB2,这种方法使部署 DB2 UDB Express 变得容易,而且它还允许您在您自己的应用程序中嵌入 DB2 安装。

引言
IBM® DB2® Universal Database™ Express Edition(DB2 UDB Express)是 IBM DB2 家族的最新成员。它是特别为帮助中小型企业整合和管理业务流程而设计、定价和销售的。DB2 UDB Express 提供:

  • 和应用程序一起透明安装。
  • 增强的自主易管理功能。
  • 较低的总拥有成本。

本文描述了在 Microsoft® Windows® 和 Linux 平台(这些平台支持 DB2 UDB Express)上 DB2 响应文件安装的完整过程。

和标准的 DB2 安装实用程序不同,DB2 响应文件安装不需要交互式用户输入即可安装 DB2。这对于 DB2 的大规模部署和在您自己的安装程序中透明地嵌入 DB2 的安装过程都很有用。响应文件安装是 DB2 为您的嵌入式数据库需求提供完整解决方案的原因之一。

DB2 响应文件安装是可以嵌入到现有安装程序中的后台安装过程,它对于最终用户是透明的。安装是由 DB2 安装实用程序用用户生成的响应文件来执行的。响应文件是包含安装和配置信息的 ASCII 文本文件,它可以用 DB2 实用程序生成或由手动编辑生成。

本文详细介绍了响应文件生成、响应文件安装、数据库安装和卸载,以及在您自己的应用程序安装程序中嵌入 DB2 安装过程的特别注意事项。

生成响应文件
响应文件安装过程的第一步是生成响应文件。当使用交互式安装实用程序安装 DB2 时,在安装开始之前会提示您进行安装选择并提供必要的配置数据。响应文件只包含这些安装选项和配置数据,它们已为嵌入式使用准备好了。

可以用三种方法来生成响应文件:

  • 使用 DB2 Setup Wizard
  • 使用 DB2 响应文件生成器实用程序(仅 Windows)
  • 手动生成响应文件

响应文件是 ASCII 文本文件。 清单 1是部分响应文件的样本。

清单 1. 部分响应文件的样本


PROD= UDB_EXPRESS_EDITION
LIC_AGREEMENT=ACCEPT
FILE=C:/SQLLIB/
INSTALL_TYPE=CUSTOM

COMP=DEVELOPMENT_CENTER
...
COMP=CONTROL_CENTER
COMP=CLIENT_TOOLS
COMP=COMMAND_CENTER
...
COMP=TCPIP_DB2_CLIENT_SUPPORT
COMP=TCPIP_DB2_LISTENER_SUPPORT

LANG=EN
DAS_CONTACT_LIST=LOCAL

INSTANCE=DB2
DB2.NAME=DB2
DEFAULT_INSTANCE=DB2
DB2.SVCENAME=db2c_DB2
DB2.DB2COMM=TCPIP
DB2.PORT_NUMBER=50000
DB2.FEDERATED=YES
...

您可以在 DB2 安装 CD 的以下位置找到完整的样本响应文件:

  • 对于 Linux,样本响应文件位于 <cd-rom>/db2/linux/samples ,其中 <cd-rom> 代表 DB2 可安装映像的位置。
  • 对于 Microsoft Windows,样本响应文件位于 x:/db2/windows/samples ,其中 x: 代表 CD-ROM 驱动器。

DB2 UDB Express 的响应文件被命名为 db2exp.rsp

有关 DB2 响应文件的一些关键字的简短描述,请参阅 手动生成响应文件

使用 DB2 Setup Wizard
DB2 Setup Wizard 是在 Microsoft Windows 和 Linux 平台上可用的 GUI 安装实用程序。它是安装 DB2 时通常要交互式运行的程序。无论您是否安装产品,您都可以将您的所有选择保存在响应文件中以备稍后使用。

要将您的选择保存在响应文件中,您需要选择定制安装类型(如 图 1所示)。

图 1. 选择定制安装类型
选择定制安装类型

在选择定制安装之后,您可以选择将所有选项保存在响应文件中并且/或者执行安装。您在其中进行这些选择的页面如 图 2所示。

图 2. 使用 DB2 Setup Wizard 创建响应文件
使用 DB2 Setup Wizard 创建响应文件

如果您以前从未使用过 DB2 Setup Wizard,那么您可以在以下位置找到它:

  • 对于 Microsoft Windows,它的名称是 setup.exe ,位于安装 CD 的根目录下。
  • 对于 Linux,它的名称是 db2setup ,位于安装 CD 或映像的根目录下。

当 DB2 Setup Wizard 过程完成时,保存为您生成的 DB2 响应文件。您可以为生成的响应文件选择路径和文件名。

在这些生成的响应文件可以使用之前,您必须手动修改它们以接受许可证协议。

使用 DB2 响应文件生成器
DB2 响应文件生成器实用程序仅在 Windows 平台上可用。它的想法是先创建主安装,然后使用响应文件生成器来创建响应文件,响应文件可以安装和主安装一样的 DB2 组件。实用程序也可以生成实例概要文件来创建和配置实例。

图 3显示了响应文件生成器实用程序(db2rspgn)的语法。

图 3. db2rspgn 实用程序的语法
db2rspgn 实用程序的语法

在缺省情况下,db2rspgn 生成主安装上的所有实例的概要文件和响应文件。您可以分别使用 -nodflm-nocltsv 选项来选择不为数据链路文件管理器(Data Links File Manager,DLFM)实例和控制服务器实例创建概要文件。您也可以为概要文件创建指定个别的实例。概要文件和响应文件放在相同的目录下。

在生成的响应文件可以使用之前,您必须对它们进行某些小的编辑:

  • 手动修改文件以接受许可证协议。
  • 输入新系统的用户标识和密码。

手动生成响应文件
因为响应文件是 ASCII 文本文件,所以您可以手动创建它们。您可以选择修改随 DB2 映像提供的样本响应文件,或您可以自己重新创建它们。这个方法需要透彻地理解响应文件的结构和关键字。幸运的是,样本响应文件注释得很好,是不需要更多解释的。

以下是对您在响应文件中指定的某些关键字的简短描述。

PROD
指定您想安装的产品。

  • UDB_EXPRESS_EDITION (对于 DB2 UDB Express)。
  • ADMINISTRATION_CLIENT (对于 DB2 管理客户机)。
  • APPLICATION_DEVELOPMENT_CLIENT (对于 DB2 应用程序开发客户机)。
  • RUNTIME_CLIENT (对于 DB2 运行时客户机)。

FILE
指定 DB2 产品的目标目录(仅对于 Windows)。

INSTALL_TYPE
指定安装类型: COMPACT、TYPICALCUSTOM

COMP
指定您想安装的组件。除非 INSTALL_TYPE 是 CUSTOM ,否则该关键字被忽略。

LANG
指定您想安装的语言支持。

REBOOT
指定当安装完成时是否要重新启动 Windows 系统。

KILL_PROCESSES
指定是否安装不经提示就终止当前运行的 DB2 进程(仅对于 Windows)。

其它选项还包括用于以下设置的选项:

  • DB2 管理服务器设置
  • 实例设置
  • 数据库设置

有关关键字的完整列表、详细描述和使用信息,请参阅安装 CD 和 DB2 UDB Express 文档上的样本响应文件。

对无人照管的安装使用响应文件
本节描述:

安装过程
在您生成了响应文件之后,安装就很简单了。使用您在 GUI 安装中使用的同一可执行文件。但是,不是只在提示符处输入命令或双击 setup.exe ,而是您必须提供正确的响应文件名。您还可以指定其它选项(例如日志文件的路径和名称)。

图 4是在 Windows 上的安装实用程序的语法。对于响应文件安装,只有带有完整路径的响应文件名是强制的。

图 4. 在 Windows 平台上的安装实用程序的语法


setup [/f] [/I <language>] [/l <log file>] [/u <response file>]
[/t <trace file>]
/? - generates this usage message
/f - forces any db2 processes to stop before installing
/i - two letter code for the preferred language
/l - full path and name of the log file
/u - full path and name of the response file
/t - creates a file with install trace information

在 Linux 上,使用 db2setup 语法(如 图 5所示)。

图 5. Linux 上的 db2setup 的语法
Linux 上的 db2setup 的语法

无人照管的安装过程在后台运行。不会出现 DB2 安装 GUI。当 DB2 安装嵌入在您自己的安装程序中时,它就像是安装过程的一部分。安装完成后,DB2 安装过程给您的程序返回一个返回码。您可以在您的安装程序中选择监视返回码。 表 1表 3包括了 Windows 和 Linux 的主要的返回码。主要的返回码是经常接收到的返回码,您应该编写代码来处理它们。还有次要的返回码,它们是不太常见的。它们在 表 2表 4中。这四个表还可以在 DB2 UDB Express 文档中找到。

表 1. Windows 上响应文件安装的主要的返回码

返回码 描述
0操作成功完成。
1操作返回警告。
1603在安装过程中发生致命错误。
3010安装成功;但是需要重新引导以完成安装。

表 2. Windows 上响应文件安装的次要的返回码

返回码 描述
3没有找到该路径。
5拒绝访问。
10发生环境错误。
13数据无效。
87参数之一无效。
1602安装被用户取消。
1610配置数据毁坏。请联系您的支持人员。
1612本产品的安装源不可用。请验证安装源存在并且您可以访问它。
1618另一个安装已在进行中。在继续本安装之前,请先完成另一个安装。
1622在打开安装日志文件时出错。请验证指定的日志文件的位置是存在的并且该位置是可写的。
1632Temp 文件夹已满或无法访问。请验证 Temp 文件夹存在并且您可以写入该文件夹。
1633本安装包在本平台上不受支持。
1638已安装本产品的另一个版本。本版本的安装无法继续。
1639无效的命令行参数。

表 3. Linux 上响应文件安装的主要的返回码

返回码 描述
0操作成功完成。
1操作返回警告。
67在安装过程中发生致命错误。

表 4. Linux 上响应文件安装的次要的返回码

返回码 描述
3没有找到该路径。
5拒绝访问。
10发生环境错误。
13数据无效。
87参数之一无效。
66安装被用户取消。
74表数据
76本产品的安装源不可用。请验证安装源存在并且您可以访问它。
82另一个安装已在进行中。在继续本安装之前,请先完成另一个安装。
86在打开安装日志文件时出错。请验证指定的日志文件的位置是存在的并且该位置是可写的。
96Temp 文件夹已满或无法访问。请验证 Temp 文件夹存在并且您可以写入该文件夹。
97本安装包在本平台上不受支持。
102已安装本产品的另一个版本。本版本的安装无法继续。
103无效的命令行参数。

生成安装日志
日志文件的路径和名称对于 DB2 安装程序是可选参数。如果您不指定日志文件的名称和路径,则为您在缺省目录中创建缺省的日志文件:

  • 在 Windows 上,缺省文件是 db2.log ,在用来执行 DB2 安装的用户标识的 My Documents/DB2LOG 目录下。
  • 在 Linux 上,缺省文件是 /tmp/db2setup.log

除了这些日志文件,其它的辅助日志文件和转储或跟踪文件也在缺省目录下创建。

  • 在 Windows 上,在您指定的路径下或在以上提到的缺省路径下,有另外一个来自 Windows Installer 的日志文件(名为 db2wi.log )。在安装期间,当前安装的日志项记录在 db2wi.log 文件中。 db2.log 文件中有 Windows 当前和任何以前安装的信息。它在 DB2 安装的结尾更新。
  • 在 Linux 上,您也可以在 /tmp 目录下找到其它一些 DB2 生成的文件。 db2setup.his 日志文件保留了当前和以前安装的历史记录。 db2setup.err 日志文件包含了所有的错误项。

跟踪安装
跟踪文件的路径和名称对于 DB2 安装程序也是可选参数。跟踪文件包含 IBM 支持所需的服务信息,跟踪文件不是提供给用户使用的。您可以在安装成功之后安全地除去它们。当您选择创建跟踪文件时,DB2 安装日志文件以详细方式被生成(即,在日志文件中生成更详细的信息)。

安装注意事项
无论您是想使用 DB2 响应文件安装来在多台机器上部署还是在应用程序中嵌入,您都必须确保检查先决条件、确保没有 DB2 进程在运行以及要有处理失败安装的方案。

检查先决条件
像 DB2 GUI 安装一样,在开始 DB2 响应文件安装过程之前,确保在您自己的安装脚本中已满足了所有先决条件。先决条件包括用户特权和系统配置。DB2 安装先决条件已很好地记录在 DB2 UDB Express 文档和 DB2 安装 CD 上的自述文件中。

杀死 DB2 进程
当有活动的 DB2 进程在运行时,DB2 安装无法进行。您只可以在 Windows 上使用响应文件中的 KILL_PROCESSES 关键字或 /F 选项来杀死活动的 DB2 进程。然而,杀死 DB2 进程会导致数据丢失。所以我们建议对每个实例使用 db2stop 命令,对此我们已有所描述。在使用 db2stop 命令之前,请参阅 DB2 UDB Express 文档以了解全部语法。

用户程序干预
在 DB2 响应文件安装的过程中,不可能进行用户程序干预。安装过程一经开始,就自己运行了。您的安装程序所能做的全部事情就是监视最终的返回码。

失败的安装
当安装失败时,DB2 安装过程通常会清除新安装的组件。您自己的安装程序会解析并检查日志文件或检查返回码以查明问题。如果问题可以补救,您可以尝试重新安装 DB2。

创建并安装数据库
在安装并配置 DB2 UDB Express 后,接下来的逻辑步骤是:

  1. 创建数据库。
  2. 创建数据库对象,例如表、视图、触发器、函数和过程。
  3. 用数据填充表。

然而这些任务超出了本文所讨论的范围,出于完整性的考虑,我们在此仅做简要讨论。

您如何创建并安装您的数据库主要取决于您使用的开发语言。您可以使用脚本或程序(用 C、Java™ 和您选择的其它多种编程语言编写)来进行安装。您甚至可以使用脚本和程序的组合来进行安装。

最简单的创建数据库的方法是在响应文件中手动添加数据库部分。数据库将在安装的结尾为您创建。 图 6是在 DB2INST1实例下创建 MY_DB1数据库的样本数据库部分。

图 6. 响应文件中的样本数据库部分


DATABASE = MY_DB
MY_DB.INSTANCE = DB2INST1
MY_DB.DATABASE_NAME = MY_DB1
MY_DB.LOCATION = LOCAL
MY_DB.ALIAS = MY_DB1
MY_DB.USERNAME = 
          username
MY_DB.PASSWORD = 
          password

        

您还可以用脚本或 C DB2 API 创建数据库。如果 Java 是您选择的编程语言,则您必须首先使用以上提到的方法之一来创建数据库。在 JDBC™ 标准中没有 Java 管理 API 定义。

在数据库创建之后,可以创建数据库对象并载入表。您可以再次使用多种编程语言(例如 C 和 ODBC/CLI 或 Java 和 JDBC)及其相应的 API 来载入数据。

如果您有大量的数据需要载入,请考虑使用 DB2 IMPORT 或 LOAD 实用程序。有关 IMPORT 和 LOAD 的语法和使用,请参阅 DB2 UDB Express 文档

卸载 DB2 UDB Express
您也可以在您自己的卸载程序中嵌入 DB2 UDB Express 卸载。以下是在 Windows 和 Linux 上卸载 DB2 UDB Express 的循序渐进的说明。

在 Windows 上卸载 DB2 UDB Express
在 Windows 系统上,您需要按以下顺序执行以下步骤:

  1. 通过输入以下命令来卸下所有的数据库:
    
                
    DB2 DROP DATABASE database-alias
              
  2. 通过输入以下命令来断开所有应用程序的连接:
    
                DB2 FORCE APPLICATION ALL
              
  3. 通过输入以下命令来停止所有 DB2 进程和服务:
    
                
    DB2STOP
    DB2ADMIN STOP
              
  4. 除去 DB2 UDB Express 产品。要通过程序执行此操作,请使用 Windows Installer。您要使用的命令是:
    
                
    msiexec /x {58169F10-CA30-4F40-8C6D-C6DA8CE47E16}
              

有关以上命令的更多信息,请参考 DB2 UDB Express 文档

在 Linux 上卸载 DB2 UDB Express
在 Linux 系统上,您需要按以下顺序执行以下步骤:

  1. 通过输入以下命令来卸下所有的数据库:
    DB2 DROP DATABASE database-alias。
  2. 通过作为 DB2 管理服务器所有者登录并发出 DB2ADMIN STOP 命令来停止 DB2 管理服务器。
  3. 通过对您创建的每个实例重复以下步骤来停止所有 DB2 实例:
    1. 作为实例所有者登录。
    2. 通过输入 DB2 FORCE APPLICATION ALL 命令来停止所有的数据库应用程序。
    3. 通过输入 DB2STOP 命令来停止 DB2 数据库管理器。
    4. 通过输入 DB2 TERMINATE 命令来确认实例已停止。
  4. 除去管理服务器:
    1. 作为 root 用户登录。
    2. 发出命令:
      /opt/IBM/db2/V8.1/ instance/dasdrop
  5. 通过对您创建的每个实例重复以下步骤来除去 DB2 实例:
    1. 作为 root 用户登录。
    2. 发出 /opt/IBM/db2/V8.1 /instance/db2idrop InstanceName 命令。
    3. 如果您是在安装过程中创建了实例所有者的用户标识和组并且它们只由您的程序使用,则除去它们。
  6. 除去 DB2 UDB Express。在 Linux 上您有两个选择。对于这两个选择,您必须具有超级权限。您可以:
    • 在 DB2 UDB Express CD 或映像的根目录下使用 db2_deinstall 命令。
    • 使用 rpm 命令。

有关以上 DB2 命令的更多信息,请参考 DB2 UDB Express 文档。有关 rpm 命令的更多信息,请访问 RPM Web 站点

结束语
通过使用 DB2 响应文件安装,您可以在您自己的安装程序中透明地安装 DB2 UDB Express。它在安装过程中不需要用户输入,并且它通过日志文件提供详细的、及时的安装进度信息。使用响应文件安装对于执行大规模 DB2 UDB Express 部署,或在应用程序的安装中嵌入 DB2 UDB Express 来说效果很好。

其它参考资料
要查看响应文件安装如何运行,请参阅 http://www7b.software.ibm.com/dmdd/library/demos/db2express/上的 DB2 UDB Express 演示程序。

致谢
作者对 IBM Toronto Lab 的 Andrew Hilden 所给予的帮助深表谢意。

关于作者
Michael Gao是 IBM Toronto Lab 的 DB2 顾问,IBM Toronto Lab 开发分布式平台的 DB2。他当前主要是在应用程序开发、性能调优、移植和客户化培训等方面和 IBM 的业务合作伙伴进行合作。他曾出席一些国际会议并与人合著了 DB2 SQL Procedural Language for Windows, UNIX and Linux。您可以通过 xmgao@ca.ibm.com 和 Michael 联系。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值