db2 - 重启 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)上都会出现错误。
任何帮助是极大的赞赏。
解决方案
最后,我们找到了解决方案,在两个表及其所有分区上运行 REORG 和 RUNSTATS,错误在应用程序和 SPUFI 上都消失了。我猜在重启过程中出了点问题,表损坏了。现在一切正常。
推荐阅读
- facebook-instant-games - 如何在 Facebook Instant Game 中展示广告?
- python - Python如何打印itertools.permutations的属性
- python - 我们可以从 pyspark shell 外部运行 pyspark-python 脚本吗?
- c# - c# winform app.config "&" char 在字符串中不起作用
- mysql - Laravel BelongsToMany 方法不返回任何内容
- javascript - Javascript 加载但不起作用
- vba - 使用 VBA 获取正确的日期
- laravel - Laravel 应用程序在使用“config”帮助函数时失败
- c# - XAttribute 维护 CR
- regression - 数据科学和机器学习:(处理 +ve skew)如何使对数转换结果为正?