日期:2014-05-16  浏览次数:20367 次

怎么在windows下正确卸载DB2
DB2 UDB版本8使用“Windows Installer”技术安装,因此跟先前版本的安装和卸载有了很大的改变。

尽管在Windows操作系统上有四种方式可以卸载DB2 UDB版本8软件,它们并不完全一样。在卸载时应该首先考虑首选卸载方法。 剩下的方法必须在首选卸载方法失败,并且跟DB2 UDB服务人员联系后再尝试使用。

下面我们依次介绍四种卸载方法。

一、首选卸载方法

控制面板-添加/删除程序

通过Windows控制面板中的添加/删除程序来卸载DB2 UDB 版本8是最好的方式。 根据不同的Windows操作系统,DB2产品在 添加/删除 程序窗口中可能有“删除” 和/或 “改变”按钮。 您可以使用任何一个按钮来卸载DB2。

在DB2卸载的第一个窗口中,“下一步”按钮可能是灰的。这是因为Windows会在后台执行一些程序确保DB2可以被卸载。一旦Windows Installer可以继续处理,“下一步”按钮会变为可用状态,您可以点击“下一步”继续后面的操作。

如果DB2卸载失败,您可以联系DB2服务人员,以便获取得到卸载日志和跟踪文件的方法,以便进一步确定问题的原因。

下面的卸载方法只应该在首选卸载方法失败的情况下使用。

二、问题诊断卸载方法

(一)从原来的安装盘上运行SETUP程序

如果我们不能从Windows控制面板中的添加/删除程序卸载DB2。首先我们应该尝试从原来的安装介质上运行“setup”程序(CD光盘或者网络驱动器)。请在运行之前确认安装介质上的DB2产品(如 ESE,ADMCL,WSE等等)跟服务级别(如GA,FP2,V82等等)跟我们安装的DB2产品一样。Windows Installer会探测到该产品已经安装,提供三种选项:修复、更改和删除。请选择“删除”按钮来卸载产品。

另外一种可能是Windows Installer会问原始的.msi文件的位置,如果碰到这种情况,您应该找到原始的安装位置并在 [原始安装位置]\db2\Windows\[DB2 product].msi 选择原始的.msi文件。

(二)使用强制卸载(FORCE_UNINSTALL)

不能卸载DB2可能有几个因素引起,如用户修改了系统注册表,DB2 UDB文件或者目录结构。在这种情况下,我们必须使用“强制卸载”的方法。

这个方法需要使用msiexec程序来卸载产品,同时还需要手动清除一些内容。您可以根据下述步骤来卸载产品:

1、停止DB2服务。DB2服务请参见下面的”参考“部分。这一步可以通过Windows 控制面板中的“服务”管理工具实现。

2、从命令行中,进入到Windows Installer的安装目录(如c:\Windows\Installer or c:\WinNT\Installer)。

3、运行命令 msiexec /x <product ID> FORCE_UNINSTALL=Y。 DB2的产品ID参见下面的“参考”部分。如果命令不能成功完成,你不许使用手动卸载方法。如果成功,请继续下面的步骤。

4、环境变量清理。DB2环境变量请参见下面的“参考”部分。进入控制面板,点击“系统”,点击“高级”标签,点击“环境变量”按钮。清除所有的DB2环境变量。

5、注册表清理。查找“SQLLIB”的Windows注册表项,清除下面所有的键值。

6、服务文件清除。在 [Windows]\system32\drivers\etc下,删除DB2条目。

7、SQLLIB清除。删除SQLLIB目录。

8、快捷方式清除。查找“IBM DB2”快捷方式目录,该目录在“All Users”用户属性目录下的"「开始」菜单/程序"目录下,请删除这个目录,并删除“开始”目录下的所有DB2的链接。

(三)手动卸载

下面的方法适用于Windows Installer不能卸载DB2,同事“强制删除”方法也不生效的情况下。下面以DB2 ESE版本为例,出了产品键不一样外,其他产品的卸载方法与ESE的卸载方法类似。

当产品ID写入注册表时会有所变化。下面的例子中,DB2 ESE产品的ID就被改变了,从{D8F53726-C7AD-11D4-9155-00203586D551} (参见下面的产品表) 变为 62735F8DDA7C4D111955000253685D15。

注意:下面的步骤描述了如何根据产品ID找到改变的键值。

举例如下,ESE的产品GUID是 {D8F53726-C7AD-11D4-9155-00203586D551}(可以从下面的产品表中查到)。

a)这个GUID由5部分构成,D8F53726-C7AD-11D4-9155-00203586D551。

b)将前三段分别翻转(从尾到头),变为62735F8D-DA7C-4D11。

c)去掉所有的间隔符“-",变为62735F8DDA7C4D11

d)上面的步骤会得到前16个字符,写入注册表的键值就变为62735F8DDA7C4D11 1955000253685D15,注意,你最需要关注前16个字符就可以了。

手动删除的步骤(以ESE为例)

1、停止DB2服务。DB2服务请参见下面的”参考“部分。这一步可以通过Windows 控制面板中的“服务”管理工具实现。

2、删除所有”SQLLIB“下的文件和目录。

3、删除所有的快捷方式和文件夹。

4、删除所有DB2相关的环境变量(”我的电脑“/”属性“/”高级“/"环境变量”)

5、清除注册表。下面的键需要删除:

HKEY_LOCAL_MACHINE\Software\Classes\Installer\Features

62735F8DDA7C4D111955000253685D15 是ESE的键值,需要删除HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products

62735F8DDA7C4D111955000253685D15 是ESE的键值,需要删除HKEY_LOCAL_MACHINE\Software\Classes\Installer\UpgradeCodes

62735F8DDA7C4D111955000253685D15 是ESE的键值,需要删除HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders

所有包含sqllib的目录都需要删除HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes

62735F8DDA7C4D111955000253685D15 是ESE的键值,需要删除HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \Installer\UserData\S-1-5-18\Components

所有以 000182B 开头的组件都是DB2的组件,需要删除HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentVersion\Installer\UserData\S-1-5-18\Products

62735F8DDA7C4D111955000253685D15 是ESE的键值,需要删除HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \Uninstall\{D8F53726-C7AD-11D4-9155-00203586D551} 需要删除

HKEY_LOCAL_MACHINE\Software\IBM\DB2 需要删除

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

所有DB2的服务都需要删除

6. 重新启动机器。

参考信息:

DB2 服务 (通常情况下,所有DB2的服务都以DB2开头):

DB