3/15/2007

DB2 9的补丁

有两种类型的修订包映像:
* 每个单独的 DB2 数据库产品的修订包。 --这里和8有区别,注意了.
如果您只安装了单个 DB2 数据库产品并且想将它升级到新的修订包级别,或
者如果您要安装特定修订包级别的 DB2 数据库产品,则使用这种类型的修订
包。
* 通用修订包。
通用修订包适用于安装了多个 DB2 数据库产品的情况。
--------------------------------------------------------

to be continued...

1 comments:

Yonghang Wang 说...

1.2.2.3 查看许可证条款和条件

在安装 DB2 版本 9.1 修订包 1 之前,必须查看并接受已解压缩的修订包安装映
像的 db2/license 目录中的许可证条款和条件。

如果使用修订包映像来安装许可的 DB2 数据库产品,则将会安装“先试后买”许
可证。
如果具有新安装的 DB2 数据库产品的永久许可证,则可以执行以下任一操
作:
* 允许 db2setup 为您添加许可证。通过将许可证添加到修订包映像的许可证目
录(例如,db2/aix/license),然后运行 db2setup 可实现此操作。
* 使用命令 db2licm -a filename 在安装修订包之后手工添加许可证密钥,其中
filename 是与产品相对应的许可证文件的完整路径和文件名。

1.2.2.4 停止所有 DB2 进程

仅当您已将 DB2 数据库产品安装在所选安装路径中时,才需要完成下列任务。必
须确保所有 DB2 进程都已停止。如果您有多个 DB2 副本,则只需要停止与要更
新的副本关联的 DB2 进程。有关使用多个 DB2 副本的更多信息,请访问 http
://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/
com.ibm.db2.udb.admin.doc/doc/r0024057.htm。

要停止所有的 DB2 进程,请执行下列步骤:
1. 作为 root 用户登录。
2. 通过发出以下命令来确定与 DB2 副本关联的实例:
DB2DIR/instance/db2ilist

其中 DB2DIR 表示 DB2 副本的安装位置。
3. 对 DB2 副本中的每个实例运行下列命令:
su - iname
. $HOME/sqllib/db2profile
db2 force applications all
db2 terminate
db2stop
db2licd -end # 在每个物理节点运行
exit

其中 iname 表示实例所有者的名称。

如果您是 HACMP(TM) 用户,则必须使用 ha_db2stop 命令来停止 DB2,而不
是使用 db2stop 命令。如果使用 db2stop 命令而不是 ha_db2stop 命令,则
您将会触发故障事件。

4. 如果 DB2 管理服务器(DAS)属于要更新的 DB2 副本,则停止 DAS:
su - aname
. $HOME/das/dasprofile
db2admin stop
exit

其中,aname 表示 DAS 所有者的名称。

注: 由于系统上只能有一个 DAS,所以此步骤将影响系统上的所有其他 DB2
副本。

5. (可选)在 AIX(R) 上,在安装之前运行 slibclean 以从内存中卸装未使用
的共享库:
/usr/sbin/slibclean

6. 禁用故障监视进程:
a. 作为 root 用户登录
b. 通过发出以下命令找到运行 db2fmcu 命令的位置:
ps -ef

例如,在 AIX 上,db2fmcu 命令是在 DB2DIR/bin 目录(其中 DB2DIR 是
DB2 副本的安装位置)中运行的。
c. 切换至由 ps 命令指示的目录
d. 通过发出以下命令禁用“故障监视协调程序”(FMC):
db2fmcu -d

注:
1) 由于只有一个“故障监视协调程序”,所以此步骤将影响系统上的所有
DB2 副本。
2) 应用修订包之后,将复位“故障监视协调程序”,以便再次配置系统的
inittab 文件来包括 FMC。如果不想使用 FMC,则在应用了修订包之后
必须重新发出以上命令。

e. 要停止“故障监视守护程序”,请发出以下命令:
db2fm -i iname -D

其中 iname 表示实例所有者的名称。必须对每个实例执行一次此命令。

7. 对于要更新的实例,确保清除了所有 DB2 进程间通信。作为实例所有者,在
每个物理分区上运行以下命令:
$HOME/sqllib/bin/ipclean



1.3 安装 DB2 版本 9.1 修订包 1

本节描述如何安装 DB2 版本 9.1 修订包 1。



1.3.1 安装 DB2 版本 9.1 修订包 1 以更新现有安装

如果已将 DB2 数据库产品安装在所选安装路径中并且要应用新的修订包级别,则
使用此方法。

如果有多个 DB2 数据库产品安装在所选路径中,则必须使用通用修订包映像。

安装 DB2 版本 9.1 修订包 1 时存在下列限制:
* 不能单独使用本地语言修订包。如果要更新安装了本地语言的现有 DB2 产品,
则除了个别修订包或通用修订包之外,还必须获取本地语言修订包。

例如,如果在 GA 级别安装了具有非英语支持的 DB2 产品,则可通过下载 DB2
产品的修订包 1 映像(或通用修订包 1 映像)和本地语言修订包 1 来将该
产品更新为修订包 1 级别。然后从 DB2 产品的修订包 1(或通用修订包 1)
映像运行 installFixPack。

要安装 DB2 版本 9.1 修订包 1:
1. 作为 root 用户登录。
2. 切换至包含修订包映像的目录。
3. 通过发出以下命令来启动安装进程:
./installFixPack -b DB2DIR

其中 DB2DIR 是要更新的 DB2 产品的位置。

有关此命令的其他信息,请访问 http://publib.boulder.ibm.com/
infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0023700.htm




1.3.2 安装 DB2 版本 9.1 修订包 1 以创建新的安装

如果符合下面任一条件,请使用此方法:
* DB2 未安装在所选安装路径中,或者
* 所选安装路径中存在 DB2 产品并且您要在同一路径中添加更多产品(与现有
产品处于相同修订包级别)

安装 DB2 版本 9.1 修订包 1 时存在下列限制:
* 不能单独使用本地语言修订包。如果要创建新的 DB2 安装或添加安装了本地
语言的新 DB2 产品,则除了个别修订包或通用修订包之外,还必须获取本地
语言修订包。

例如,如果要安装具有非英语支持的 DB2 产品,则可以下载 DB2 产品的修订
包 1 映像和本地语言修订包 1 。然后从 DB2 产品的修订包 1 映像运行
db2setup。

要安装 DB2 版本 9.1 修订包 1:
1. 作为 root 用户登录。
2. 切换至包含修订包映像的目录。
3. 通过发出以下命令来启动安装进程:
./db2setup

有关此命令的其他信息,请访问 http://publib.boulder.ibm.com/
infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0008889.htm


1.4 安装之后

在安装 DB2 版本 9.1 修订包 1 之后,请执行下列步骤:
* 如果安装了 WebSphere(R) Federation Server,则运行 djxlink 命令。
* 更新实例以使用新级别的 DB2。
* 重新启动实例。
* 对绑定文件进行绑定。

应用修订包之后,不必重新编译应用程序。但是,要利用对应用程序中链接至的
文件所作的任何更改,建议重新编译应用程序。

1.4.1 WebSphere Federation Server 和 djxlink 命令

如果安装了 WebSphere Federation Server,则必须在安装 DB2 版本 9.1 修订包
1 之后并在运行 db2iupdt 之前运行 djxlink 命令。请执行下列步骤:
1. 作为 root 用户登录。
2. 除去或重命名文件 djxlink.out,该文件位于 DB2DIR/lib/ 目录中,其中
DB2DIR 是 DB2 的安装目录。
3. 确保在当前环境或 db2dj.ini 文件中设置了所有相应的变量。例如,如果要
使用联合服务器连接至 Oracle 数据源,则将环境变量 ORACLE_HOME 设置为
Oracle 主目录。
4. 运行以下命令:
djxlink

1.4.2 更新实例以使用新级别的 DB2

如果安装了 DB2 版本 9.1 修订包 1 以更新现有安装,此必须执行此任务。如果
安装了修订包以创建新的安装,则不需要执行此任务。

如果您有多个 DB2 副本,则更新安装了修订包的 DB2 副本中的实例。必须在安
装修订包之后更新 DB2 副本中的所有实例。

请执行下列步骤:
1. 作为 root 用户登录。
2. 通过发出以下命令来确定与 DB2 副本关联的实例:
DB2DIR/instance/db2ilist

其中 DB2DIR 表示 DB2 副本的安装位置。
3. 对于每个实例,发出下列命令:
DB2DIR/instance/db2iupdt iname

其中 iname 表示实例名,而 DB2DIR 表示 DB2 副本的安装位置。
4. 如果 DB2 管理服务器(DAS)属于安装了修订包的 DB2 副本,则发出以下命
令:
DB2DIR/instance/dasupdt

其中 DB2DIR 是 DB2 副本的安装位置。如果此 DB2 副本现在正在运行的修
订包级别比所有其他 DB2 副本运行的修订包级别要新,请考虑更新属于此 DB2
副本的 DAS。

有关 db2iupdt 或 dasupdt 命令的更多信息,可使用 -h 选项运行这些命令。

1.4.3 重新启动实例和管理服务器

如果安装了 DB2 版本 9.1 修订包 1 以更新现有安装,则必须执行此任务。如果
安装了修订包以创建新的安装,则不需要执行此任务。

要重新启动实例:
1. 作为实例所有者登录。
2. 发出命令 db2start。
3. 对每个实例重复此过程。

要重新启动管理服务器,请作为 DAS 所有者登录并运行 db2admin start 命令。

1.4.4 对绑定文件进行绑定

本节描述如何以及在何处绑定数据库实用程序(import、export、reorg 和命令
行处理器)和 DB2 CLI 绑定文件。

1.4.4.1 绑定至 DB2 数据库

从数据库服务器绑定

如果安装了 DB2 版本 9.1 修订包 1 以更新现有 DB2 副本,则针对该 DB2 副本
中的所有数据库绑定数据库实用程序和 DB2 CLI 绑定文件。如果安装了修订包以
创建新的安装,则不需要执行此任务。

对已升级的 DB2 副本中的每个数据库发出一次下列命令:

db2 terminate
db2 CONNECT TO dbname
db2 BIND path/db2schema.bnd BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE
db2 BIND path/@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 BIND path/@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 terminate

其中 dbname 表示文件应绑定至的数据库的名称,而 path 是绑定文件所在目录
的完整路径名,例如 $HOME/sqllib/bnd,其中 $HOME 表示数据库服务器实例的
主目录。db2ubind.lst 和 db2cli.lst 包含 DB2 数据库产品使用的必需绑定文
件的列表。已经绑定的程序包将返回 SQL0719 错误。这是预期的结果。

从客户机绑定

此处的“客户机”是指连接至另一个 DB2 副本中或另一台数据库服务器上的数据
库的发起方。此角色可由下列任何 DB2 数据库产品充当:DB2 客户机、DB2 运行
时客户机、DB2 Connect(TM) 产品或 DB2 服务器产品。

注: 不能使用运行时客户机来绑定数据库实用程序和 DB2 CLI 绑定文件,而必须
使用 DB2 客户机。有关这两种类型的客户机之间的差别的其他详细信息,
请访问“客户机类型 - DB2 运行时客户机和 DB2 客户机”,网址为:
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/
com.ibm.db2.udb.uprun.doc/doc/c0022612.htm

如果安装了 DB2 版本 9.1 修订包 1 并且打算连接至正在另一个操作系统上运行
或正在不同 DB2 版本或服务级别运行的数据库,则必须针对该数据库绑定数据库
实用程序和 DB2 CLI 绑定文件。

对每个唯一的操作系统和 DB2 版本或服务级别的组合执行一次下列操作:

db2 terminate
db2 CONNECT TO dbname
db2 BIND path/@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 BIND path/@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 terminate

其中 dbname 表示实用程序应绑定至的数据库的名称,而 path 是绑定文件所在
目录的完整路径名,例如 $HOME/sqllib/bnd,其中 $HOME 表示“客户机”上的
实例的主目录。db2ubind.lst 和 db2cli.lst 包含 DB2 数据库产品使用的必需
绑定文件的列表。已经绑定的程序包将返回 SQL0719 错误。这是预期的结果。

1.4.4.2 对主机数据库进行绑定

如果正在连接至主机数据库,则还需要将新的绑定文件绑定至主机。使用 DB2 命
令行处理器来连接至主机数据库,然后按如下方式绑定实用程序:

HOST COMMAND
======= ===================================================
OS/390 or z/OS BIND path/@ddcsmvs.lst BLOCKING ALL GRANT PUBLIC ACTION ADD SQLERROR CONTINUE
VM BIND path/@ddcsvm.lst BLOCKING ALL GRANT PUBLIC ACTION ADD SQLERROR CONTINUE
VSE BIND path/@ddcsvse.lst BLOCKING ALL GRANT PUBLIC ACTION ADD SQLERROR CONTINUE
OS/400 BIND path/@ddcs400.lst BLOCKING ALL GRANT PUBLIC ACTION ADD SQLERROR CONTINUE

其中 path 是绑定文件所在目录的完整路径名,例如 $HOME/sqllib/bnd,其中
$HOME 表示实例的主目录。

有关用于您的特定客户机操作系统的绑定文件列表,请访问 http://
publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.doc/
doc/c0005595.htm。如果绑定文件发生更改,而您的客户机并不使用该绑定文件
,则不需要绑定该文件。

1.4.4.3 对特定绑定文件进行绑定

如果只想将特定的 .bnd 文件绑定至数据库,则对每个数据库发出下列命令:

db2 terminate
db2 CONNECT TO dbname
db2 BIND path/bind_file BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE
db2 terminate

其中 dbname 表示数据库的名称,path 是绑定文件所在目录的完整路径名,而
bind_file 表示绑定文件的名称。

1.4.4.4 绑定启用空间的数据库

如果已经具有启用空间的数据库,则必须在安装 DB2 修订包后绑定列表文件
db2gse.lst。db2gse.lst 文件包含 DB2 Spatial Extender 提供的存储过程的绑
定文件名。

要绑定 db2gse.lst 文件:
1. 确保您具有下列其中一种权限:
* SYSADM 或 DBADM 权限
* 针对模式的 ALTERIN 特权
* 针对程序包的 BIND 特权

2. 连接至数据库并执行 BIND 命令。例如,输入:
db2 connect to dbname
db2 bind path/bnd/@db2gse.lst
db2 terminate

其中 dbname 表示数据库的名称,而 path 是绑定文件所在目录的完整路径
名。

有关 BIND 命令的语法和选项,请访问 http://publib.boulder.ibm.com/
infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0001935.htm。

1.4.5 对使用 db2setup 命令添加产品的限制

安装了某种 DB2 数据库产品后,可添加其他 DB2 数据库产品。如果使用
db2setup 命令来添加产品,则对于特定位置(安装路径)来说,已安装的产品和
要添加的新产品应处于相同代码级别。

当新产品是 WebSphere Information Integration 产品时,如果从一个修订包映
像发出 db2setup 命令且该修订包映像的级别低于现有 DB2 数据库产品的级别,
您将接收到警告消息。在产品安装完成后,必须应用相应的修订包。

对于所有其他 DB2 数据库产品,如果用来添加新产品的修订包映像与特定 DB2
副本中安装的 DB2 数据库产品的级别不相同,则安装尝试将不会成功。
* 如果修订包映像的级别低于已安装产品的级别,则 db2setup 返回的错误消息
将建议您获取正确的修订包映像。
* 如果修订包映像的级别高于已安装的 DB2 数据库产品的级别,则 db2setup
返回的错误消息将建议您首先使用 installFixPack 升级现有产品。



2.0 卸载 DB2 版本 9.1 修订包 1

2.1 在 Linux 或 UNIX 上卸载修订包

应用 DB2 版本 9.1 修订包 1 之后,通过重新安装较早级别的修订包可以返回到
较早的修订包级别。使用带有强制选项(-f)的 installFixPack 命令绕过级别
检查。例如,要卸载 DB2 版本 9.1 修订包 1,请在 DB2 版本 9.1 GA 安装映像
中运行 installFixPack 命令,如下所示:

./installFixPack -f -b DB2DIR

其中 DB2DIR 是要强制为较低级别的修订包映像的 DB2 产品的位置。有关此命令
的其他信息,请访问 http://publib.boulder.ibm.com/infocenter/db2luw/v9/
topic/com.ibm.db2.udb.admin.doc/doc/r0023700.htm。

3.0 已知问题和变通方法

以下各节详细描述在安装 DB2 版本 9.1 修订包 1 之前必须知道的问题和变通方
法。

3.1 实例更新覆盖脚本 db2profile 和 db2cshrc

在现有 DB2 副本中安装修订包之后,必须更新实例以使用新级别的 DB2。但运行
db2iupdt 命令会覆盖以下脚本:db2profile 和 db2cshrc。如果先前更改了其中
任何一个脚本,则您所作的更改将在运行 db2iupdt 命令后丢失。通过分别对
userprofile 和 usercshrc 而不是 db2profile 和 db2cshrc 进行更改可以避免
此问题。

3.2 必须安装 IBM XL C/C++ 编译器运行时(适用于 Linux 上的 64 位 iSeries
和 pSeries)

在安装 64 位 DB2 Linux on iSeries(TM) and pSeries(R) 时,必须满足以下要
求:
1. 在 Linux 分发版本支持的 iSeries 或 pSeries 硬件上运行。
2. 运行 DB2 支持的 Linux 分发版本。请访问
http://www.ibm.com/software/data/db2/linux/validate/
3. 下载并安装 IBM XL C/C++ Advanced Edition V7.0 for Linux Run-Time
Environment Component。有关更多信息,请访问
http://www.ibm.com/support/docview.wss?uid=swg24007906 或执行下列步
骤:
a. 访问 XL C/C++ 支持页面,网址为:http://www.ibm.com/software/
awdtools/xlcpp/support/
b. 在“Self Help: Download”标题下,选择“Latest Updates (PTFs)”
c. 在“Linux”标题下,选择“XL C/C++ Advanced Edition V7.0 for Linux
Run-Time Environment”

3.3 确保可信计算库处于一致状态(AIX)

在 AIX 上,如果系统上启用了可信计算库(TCB),则在安装或卸载 DB2 版本
9.1 修订包 1 之前,请确保对于与 DB2 实例、DAS 和已安装的 DB2 文件相关的
任何文件或目录,TCB 都处于一致状态。TCB 在某些情况下可能处于不一致状态
,例如,如果不是使用 db2idrop 命令来除去 DB2 实例的话。

可以作为 root 用户输入以下命令来检查 TCB 状态:

tcbck -n ALL

有关可信计算库的详细信息,请参阅 AIX Security Guide。