为使用 DB2 数据库的应用程序配置客户机重新路由
可使用客户机重新路由功能部件来配置企业应用程序,以便 DB2® 数据库从通信损失恢复,并且应用程序可在干扰降至最低的情况下继续工作。重新路由是持续运行支持的核心,但仅当具有已对应用程序服务器连接标识的备用位置时,重新路由才可行。
开始之前
此任务假定:
- 应用程序连接至的 DB2 数据源正在运行:
- DB2 for z/OS® V10.1 或更高版本,或者
- DB2 Database for Linux, UNIX, and Windows V9.7 或更高版本
- 您已对 DB2 数据库配置冗余设置或将 DB2 服务器故障转移至备用节点的功能。
关于此任务
可对 DB2 使用客户机重新路由以提供有关备用服务器的信息,以防与主数据库服务器的连接失败。
如果客户端没有任何配置,那么 DB2 的 Java™ 通用连接 (JCC) Java 数据库连接 (JDBC) 驱动程序支持客户机重新路由功能,只要已在 DB2 服务器上启用此驱动程序,并且此驱动程序建立与 DB2 服务器的初始连接。如果 JCC JDBC 驱动程序连接至具有已配置的一个或多个备用服务器的 DB2 服务器,那么主服务器会将有关备用服务器的信息发送至 JCC JDBC 驱动程序。如果与主服务器的连接失败,那么 JCC JDBC 驱动程序能够将连接重新路由至备用服务器。但是,如果应用程序服务器进程崩溃,那么备用服务器信息丢失,并且客户机需要再次连接至主服务器。如果客户机无法进行与主服务器的初始连接,那么客户机不知道备用服务器并且无法重新路由。
要克服此问题,您可以使用备用服务器名称和备用端口号字段或者 通过 clientRerouteAlternateServerName 和 clientRerouteAlternatePortNumber 数据源定制属性将应用程序服务器中的 DB2 数据源配置为支持客户机重新路由功能,甚至在初始连接尝试期间亦如此。即使 JDBC 驱动程序无法连接到主 DB2 服务器,但由于进行客户机重新路由所必需的信息已存在,因此 JDBC 驱动程序能够将连接重新路由到备用服务器。
如果连接已重新路由并且 JCC JDBC 驱动程序已连接至备用 DB2 服务器,那么备用服务器将有关它自己的备用服务器的信息发送至 JCC JDBC 驱动程序。于是 JCC JDBC 驱动程序具有在备用 DB2 服务器不可用时再次重新路由连接所需的信息。现在,最初作为备用服务器的服务器将作为主服务器,并且建立新的备用服务器。但是,JCC JDBC 驱动程序不再保留主服务器和备用服务器的这一新状态。如果应用程序服务器失效并且已重新启动,那么 JCC JDBC 驱动程序必须从原始服务器配置启动,并尝试连接至最初被视为主服务器的服务器。
可以在下列 DB2 可配置环境中使用自动的客户机重新路由功能:
过程
示例
<dataSource id="DefaultDataSource"jndiName="jdbc/db2">
<properties.db2.jcc
databaseName="sampleDatabase"
driverType="4"
serverName="host"
portNumber="50000"
clientRerouteAlternateServerName="host01, host02, host03"
clientRerouteAlternatePortNumber="50000, 50005, 50000"
retryIntervalForClientReroute="2"
maxRetriesForClientReroute="3" />
...
</dataSource>