查询处理器中发生 DB2 内部故障

DB2 Internal failure occurred in query processor

我们有两个 as400,都是 V6R1M0,一个是我们的开发,另一个是生产。

请注意我不太了解 as400。

我从 IIS 创建了一个测试网页 运行ning 来重新创建场景。

该页面有一个创建到 db2 数据库的连接的按钮,我使用 SQL 从几个表中执行 select 并用数据填充网格。

这在 DEV 中工作正常,但是当我 运行 同一个站点但将其指向我们的生产环境时,它失败并显示错误代码 SQL0901 SQL 系统错误。

注意:我确实检查了 SQL 并且查询本身在两种环境中都有效。

在绿屏上当我检查页面的作业日志时,我收到以下错误:

接下来我检查了 google 错误,它似乎是一个需要在生产环境中安装的 PTF。(我不知道 一个)。跟db2有点关系。

我们遇到的问题是我们的生产环境中还有其他系统 运行ning,我担心在安装 PTF 时会导致问题...

我如何通过比较 DEV 和 Production 来知道要安装什么 PTF?有比较软件吗?理想情况下,我只想安装 DEV 而不是 PRD 中的 PTF。我又一次不知道 PTF 会解决我的问题。

如有任何帮助,我们将不胜感激。

已添加:

当我按 F1 时出现绿屏错误(QQQVECI:未找到外部字段!!!。)我得到以下信息:

当我然后按 F9 查看详细信息时,我得到以下信息:

您需要让 IBM i 管理员参与进来。

查询处理器发生内部故障 肯定表明 OS 中存在错误,需要 be/or 已由 IBM 纠正。

您的管理员(可能在 IBM 的帮助下)可以确定是否有现有的 PTF 来更正导致错误的任何内容。

您的管理员随后可以下载并应用 PTF。

您不太可能下载 PTF,更不用说有权在生产中应用它了。

很难确定,但您可能缺少的一般 PTF 应该是 SI47445。不幸的是,它在几年前被 PTF SI47911 取代了。后来被 PTF SI50956 取代。每一个都有预先要求和共同要求的 PTF。

正如@Charles 提到的,您的管理员将密切参与。很可能在一段时间内什么都做不了,直到可以安排一些停机时间进行维护。

PTF SI47445 是 PTF cume 包 2305 的一部分,后者是 2012 年 11 月初可用的一般修复程序集合。至少为 IBM i 6.1 发布了一个额外的 cume 包2013 年,以及此后一些未知数量的个人 PTF。早在 2012 年就缺少 cume 包的系统与更新的系统之间 PTF 的潜在差异数量可能有数百个 PTF。

即使是您的管理员也可能会拒绝尝试找到应用单个 PTF 的正确方法。

一个可能的普遍适用的计划本来是在 2013 年 1 月初在您的 DEV 系统上应用 cume 包 2305。这将为周围的各种早期采用者站点提供几个月的时间国家(或世界)报告问题并让 IBM 纠正这些问题。然后,如果 DEV 看起来没问题,您的 PROD 系统可以在一个月后,即 2013 年 2 月初获得相同的 cume 包。(一些组 PTF 包应该与 cume 包一起使用。)

但这个计划显然没有实际意义。

现在,一个更有可能的计划包括 (1) 记录 DEV 上有哪些 cume 和 group 包,以及 (2) 确定每个媒体的媒体是否仍然可供您的管理员在 PROD 上使用。

如果媒体不再可用,则需要考虑稍微不同的计划。

我同意关于可能的 PTF 的其他答案,但要回答你的问题

How do I know what PTF to install by comparing DEV and Production? Is there software to do the comparing?

IBM 最近增强了 IBM Application Runtime Expert 产品来帮助解决这个问题。 ARE 中新的 PTF 支持能够将系统 PTF 级别与以下内容进行比较:

  • 来自 Preventative Service Planning
  • 的最新 PTF 组级别
  • 不同系统上的 PTF 级别,例如。将产品与开发进行比较
  • 指定的 PTF 列表

此外,如果需要,它可以在目标系统上自动应用缺少的 PTF。

有关如何利用支持的更多信息,请参阅此 blog