客户机自动重新路由的描述和设置(DB2 Connect 服务器)

自动客户机重新路由功能的主要目标是使 IBM® Data Server Client 应用程序能够从通信中断中恢复,以便应用程序可以在中断最少的情况下继续工作。 顾名思义,支持连续操作的核心在于重新路由。 但是只有存在等同于客户机连接的备用位置时,才能进行重新路由。 如果将 IBM 数据服务器客户机用作 Db2 Connect 客户机,那么不需要重新路由。 有关详细信息,请参阅有关 IBM 数据服务器客户机类型的主题。

使用 IBM Data Server 功能部件自动客户机重新路由将客户机应用程序从发生故障的服务器重定向到备用服务器,以便这些应用程序可以在中断最少的情况下继续其工作。 无缝自动客户端路由为 Db2 for z/OS Sysplex 的无缝自动客户端重路由默认为开启,建议在启用 WLB 时开启。 通过此支持,访问 Db2 for z/OS 综合系统的应用程序应使用客户机提供的无缝自动客户机重新路由功能,并且无需通过 Db2 Connect 服务器。 有关此功能的更多信息,请参阅信息中心中有关自动客户端重路由(客户端)的主题。 Db2® 信息中心。

Db2 Connect 高可用性环境之外,被访问的数据库通常在原始服务器和备用服务器之间同步。 Db2 服务器和备用 Db2 访问的数据库通常通过多种方式之一在原服务器和备用服务器之间同步,例如高可用性灾难恢复 (HADR) 或 IBM PowerHA SystemMirror for AIX

但是,在 Db2 Connect 服务器的情况下,由于不需要同步本地数据库,因此您只需要确保原始和备用 Db2 连接 服务器都对目标 IBM 大型机数据库进行了编目,以便可以使用相同的数据库别名对其进行访问。
注:Db2 Connect 服务器 环境中,可以指定备用 Db2 Connect 服务器 以在客户机与 Db2 连接 服务器之间启用自动重新路由。 要在 Db2 Connect 客户机或服务器产品与 IBM 大型机数据库服务器之间进行重新路由,远程服务器必须为其自身提供一个或多个备用地址。 对于 Db2 for z/OS,如果数据库是综合系统数据共享环境,那么将知道多个地址。

如果启用了综合系统支持,那么可以在 DB2 Connect 与主机数据库服务器之间配置综合系统的重新路由功能。 综合系统的重新路由功能是 Db2 Connect 功能,允许它在与原始成员失去通信后尝试与综合系统组的其他成员进行连接。 不需要在数据库目录中对备用服务器进行编目,即可在 DB2 Connect 上启用综合系统的重新路由功能。 缺省情况下,如果启用了综合系统支持,那么就启用了综合系统的重新路由功能。

为了使 IBM Data Server Client 能够使用自动客户机重新路由从与 Db2 Connect 服务器的通信中断中恢复,必须在通信中断之前指定备用 Db2 Connect 服务器位置。 UPDATE ALTERNATE SERVER FOR DATABASE 命令用于定义特定 IBM 大型机数据库的备用 Db2 Connect 服务器位置。 备用主机名和端口号将作为此命令的一部分提供。 该位置存储在 DB2 Connect 服务器上的系统数据库目录文件中。 为了确保指定的备用 DB2 Connect 服务器位置适用于所有客户机的此数据库,必须在 DB2 Connect 服务器端指定备用服务器位置。 在客户机实例上设置的备用服务器将被忽略。

例如,假设在 Db2 连接 服务器 S1 上使用数据库别名 db1 对 IBM 大型机数据库进行编目 (主机名为 db2conn1 ,端口号为 122)。 数据库管理员希望在主机名 db2conn2 上指定端口号为 123 的备用 Db2 Connect 服务器 S2 。 以下是数据库管理员要在 DB2 Connect 服务器 S1 上运行的命令:

   db2 update alternate server for database db1 using hostname db2conn2 port 123

Db2 Connect Server S1上为数据库别名 db1 指定备用 Db2 Connect 服务器位置后,备用服务器位置信息将作为连接过程的一部分返回到 IBM Data Server Client 。 如果 IBM Data Server Client 与 Db2 Connect Server S1 之间的通信因任何原因而丢失 (通常是通信错误,例如 SQL 代码 -30081 或 SQL 代码 -1224) , IBM Data Server Client 将尝试通过原始 Db2 Connect Server (S1) 或备用 Db2 Connect Server(S2) 重新连接到 db1 。 两次尝试之间的时间间隔最初很短,然后随每次尝试逐渐增长。

一旦连接成功,就会返回 SQL 代码 -30108,以指示通信失败后已重新建立数据库连接。 将返回主机名或 IP 地址和服务名称或端口号。 仅当无法对原始服务器或备用服务器重新建立客户机通信时, IBM Data Server Client 才会向应用程序返回原始通信故障的错误。

还应注意涉及 Db2 Connect Server 环境中备用服务器连接的以下注意事项:
  • 使用 Db2 Connect Server 代表远程客户机和本地客户机提供对 IBM 大型机数据库的访问权时,系统数据库目录条目中的备用服务器连接信息可能会引起混淆。 要尽量减少此混淆,请考虑在系统数据库目录中编目两个条目以表示相同的 IBM 大型机数据库。 为远程客户机编目一个条目,为本地客户机编目另一个条目。
  • 从目标 Db2 for z/OS 服务器返回的任何 SYSPLEX 信息仅保留在 Db2 Connect 服务器上的高速缓存中。 只有一个备用服务器写入磁盘。 存在多个备用服务器或活动服务器时,仅在内存中维护信息并且这些信息在进程终止时将会丢失。