首页 > 解决方案 > 重启 DB2 服务后,应用服务器在数据库连接中得到 ERRORCODE=-4499, SQLSTATE=58009

问题描述

我们在 IBM WebSphere Application Server 7.x 上有一个应用程序,它连接到 z/os DB2 10.x 上的远程数据库。对于年度运行,DB2 关闭并重新启动。启动数据库后,我们首先得到

com.ibm.websphere.ce.cm.StaleConnectionException

然后我们得到

The database manager is not able to accept new requests, has terminated all requests in progress, or has terminated this particular request due to unexpected error conditions detected at the target system. ERRORCODE=-4499, SQLSTATE=58009

WebSphere 和 DB2 之间的连接由 WAS 数据源中的“测试连接”测试。两个系统都启动并运行,但它们之间没有正确的连接!DB2、WAS 和 JDBC 驱动程序没有变化。

更新: JDBC 驱动程序版本是4.15.134,连接属性是 IBM WebSphere 默认设置,连接直接到 DB2。后来的另一个问题表明,虽然连接仍然有问题,但直接在 z/OS 的 DB2 上执行查询会得到相同的错误。该查询包含一个在两个不同表上连接的选择,在每个表上选择都可以,但最终查询不起作用并得到 ERRORCODE=-4499,SQLSTATE=58009。

更新 2 环境细节为:IBM WebSphere Application Server 7.0.0.45、DB2 10.1、Java 版本 1.6 SR16 和 z/OS 1.13。

此特定查询在所有环境、所有应用程序服务器、z/os SPUFI、数据库查看器(例如 DBeaver)上都会出现错误。

任何帮助是极大的赞赏。

标签: db2webspheredatabase-connection

解决方案


最后,我们找到了解决方案,在两个表及其所有分区上运行 REORG 和 RUNSTATS,错误在应用程序和 SPUFI 上都消失了。我猜在重启过程中出了点问题,表损坏了。现在一切正常。


推荐阅读