2

我们是

  • 使用应用程序引擎 (AE) 程序
  • 保存/插入记录GP_ABS_EVENT
  • 通过交付的组件接口 (CI) GP_ABSENCE_EVENT

AE 程序随机失败。但是,如果我们再次使用相同的数据重新运行 AE 程序,它将运行成功。

经过调试,我们发现如下错误信息

Fatal SQL error occurred. (2,125) FUNCLIB_GP_ABS.TRANSACTION_NBR.FieldFormula Name:GetNextTransNbr PCPC:143 Statement:2
Called from:GP_ABS_EVENT.EMPLID.SavePreChange Statement:8
Error saving Component Interface. {GP_ABSENCE_EVENT} (91,37)
Internal Error: invalid transaction handle instance passed from SamDestroy 3: 54818 vs 0

它正在调用 peoplecode 函数GetNextNumberWithGapsCommit

我们已经尝试了 Oracle 建议的操作(在 Application Server 配置中修改DbFlagsDbFlags = 8),但仍然无法解决问题。我们也尝试过设置DbFlags = 0DbFlags = 1但没有运气。

我不知道这个错误是什么。

有没有人遇到过这个问题?

请告知此错误是什么以及如何跟踪/解决此问题。非常感谢!

#更新1

在 prod env 中,我们有 2 个 App 服务器和 2 个进程服务器,它们连接到一个 MSSQL DB。

到目前为止,我在 prod env 中尝试了以下内容

  • 尝试DbFlags = 0 | 1 | 8在所有应用程序/进程服务器中设置,但发生相同的错误。
  • DISABLE RESTART在 AE 中未选中/选中

由于此问题在 prod 中随机发生,并且我无法在我们的 UAT 环境中模拟相同的问题,因此我settracesql(3)在 PROD 环境中添加了该问题,以查看当此错误再次发生时是否可以找到更详细的日志。

4

0 回答 0