同一计算机上的多个 Db2 副本 (Windows)
您可以在同一计算机上使用多个 DB2 副本。 每个 DB2 副本可以处于相同代码级别,也可以处于不同代码级别。
- 能够同时在同一台主机上运行需要不同 DB2 版本的应用程序。
- 能够运行独立的 DB2 产品副本来实现不同的功能。
- 在将生产数据库移至更高版本的 DB2 产品之前,能够在同一台计算机上进行测试。
- 对于独立软件供应商,能够将 DB2 服务器产品嵌入到您的产品中,并对用户隐藏 DB2 数据库。
DB2 副本是安装在同一位置的一组 DB2 产品。
只安装一个 DB2 副本时的差别
- 在安装期间,将生成唯一的缺省 DB2 副本名称。 您可以在执行“DB2 安装”向导时更改缺省 DB2 副本的名称。 在安装完成后,无法更改 DB2 副本名称。
- 应用程序在类似于 Db2 V 11.1 环境的环境中使用缺省 Db2 副本。
在同一台计算机上安装多个 DB2 副本时的差别
- Db2 版本 11.1 副本可以与具有以下限制的 Db2 版本 10.1 或更低发行版的副本共存。
- 必须定义缺省副本。 安装 Db2 V 11.1 后,可以使用全局交换机将 V 11.1 副本设置为缺省副本。
- 只有来自缺省 IBM 数据库客户机接口副本的 IBM® Data Server Provider for .NET 在全局组合件高速缓存中注册。
- 每个 DB2
副本都必须具有唯一实例名称。 对于将 NO_CONFIG 标志设置为
YES 的静默安装,不会创建缺省实例。 但是,在安装后创建实例时,该实例必须唯一。 实例的缺省名称为
DB2®
。 如果存在DB2
名称的实例,那么将生成该实例的唯一名称。 通过使用DB2
名称并添加下划线和生成数字序列中的最后两个字符来生成唯一名称。 生成的后续实例名称为Db2_01
、Db2_02
等等。
- 对于 Microsoft COM + 应用程序,请将 IBM Data Server Driver Package (安装程序) 或 IBM Data Server Driver for ODBC and CLI (压缩文件) 与应用程序一起使用和分发,而不是与 IBM Data Server Runtime Client配合使用。 一次只能有一个 Data Server Runtime Client 用于 COM + 应用程序。 IBM Data Server Driver Package (安装程序) 或 IBM Data Server Driver for ODBC and CLI (压缩文件) 没有此限制。 访问 Db2 数据源的 Microsoft COM + 应用程序仅受缺省 Db2 副本支持。 不支持对访问不同副本的 COM+ 应用程序的并发支持。 您可以使用 "缺省 Db2 复制选择向导" 来更改缺省副本。
安装新 DB2 副本时选择缺省值

现在想像一下安装了一个 DB2 副本并将其称为 DB2COPY1 的方案。 DB2COPY1 是缺省 Db2 副本和缺省 IBM 数据库客户机接口副本。
No,那么 DB2COPY1 将保留缺省副本和缺省 IBM 数据库客户机接口副本,如下图所示:

Yes。 在此情况下, DB2COPY2 将成为新的缺省 Db2 副本和缺省 IBM 数据库客户机接口副本,如下图所示:

作为服务运行的应用程序
Windows x64 上的 32 位和 64 位版本
Db2 不支持 Windows 上安装的多个 Db2 32 位和 64 位版本,因为 Db2 32 和 64 位注册表存储在不同的位置。 如果安装 DB2 64 位版本,那么将从系统中除去 32 位版本。
LDAP 和 CLI 配置
对于 DB2 V8,如果应用程序需要不同的 LDAP 设置,那么必须使用另一个 LDAP 用户来认证该应用程序。 否则,CLI 配置将影响 LDAP 用户有可能使用的所有 DB2 副本。
性能计数器
一次只能为一个 Db2 副本注册性能计数器,并且这些计数器只能监视在其中注册它们的副本中的实例。 切换缺省副本时, Db2 选择向导将注销并重新注册性能计数器,以便它们对于缺省 Db2 副本处于活动状态。
Windows 管理规范(WMI)
在给定的任何时间都只能注册一个版本的 WMI 提供程序。
客户机连接
在同一个进程中只能使用一个 DB2 副本。 有关更多信息,请参阅 使用多个副本的IBM 数据服务器客户机连接。
动态链接 DB2 DLL 文件的应用程序
直接链接至 DB2 DLL 文件的应用程序或将 LoadLibrary(而不是 LoadLibraryEx)与 LOAD_WITH_ALTERED_SEARCH_PATH 标志配合使用的应用程序必须确保正确装入了初始从属库。 您可以使用自己的编码技术来检查是否装入了该库,也可以在运行应用程序之前调用 db2envar.bat 文件来设置环境,或者可以调用 db2SelectDB2Copy API,它可以静态链接到应用程序中。
Visual Studio 插件
如果缺省 Db2 副本是 V 10.1 或更低发行版的副本,那么同一计算机上只能同时注册一个版本的插件。 处于活动状态的插件版本是随缺省 DB2 副本一起安装的版本。
许可
必须对每个 DB2 副本注册许可证。 它们不具有系统范围的作用域。 依赖于副本的许可证发放为同一个主机上的受限版本的 DB2 产品和完全版本的 DB2 产品提供了此功能。
Windows 服务
Db2 services on窗口 platforms use the <服务名称_安装名称> naming convention. 例如,DB2NETSECSERVER_MYCOPY1。 显示名称还会追加一个用括号括起来的“副本名称”,例如,DB2 安全服务器 (MYCOPY1)。 实例还包括显示名称中的 DB2-<DB2 Copy Name>-<Instance Name>-<Node Number>,该名称显示在服务控制面板 applet 中。 实际服务名称保持不变。
用于选择要使用的 DB2 副本的 API
db2SelectDB2Copy API 设置应用程序需要的环境来使用指定的 DB2 副本名称或位置。 如果已经为想要使用的 DB2 副本设置了环境,那么不需要调用此 API。 但是,如果需要使用另一个 DB2 副本,那么在进程中装入任何 DB2 DLL 文件之前必须调用此 API。 对于每个进程,只能执行一次此调用。
具有多个物理节点的数据库分区
在所有计算机上,每个物理分区都必须使用相同的 DB2 副本名称。
使用 MSCS 和多个 DB2 资源
必须配置每个 DB2 资源以在不同资源监视器中运行。