2

我一直在研究通道状态的变幻莫测,它们如何到达这些状态以及如何使它们停止或启动。我现在已经有了相当扎实的理解,但是一位同事提出了频道重置的话题。

当我无法解释发生了什么时,我偶尔会这样做,但现在我对事情有了更好的理解,我不确定他在停止麻烦频道时“始终重置”的建议是否正确。

在线搜索信息,很明显,在重新创建通道时,很明显需要重置,但在这种情况下,如果东西刚刚中断——无论是队列管理器意外删除还是网络中断或类似的东西——重置是个好主意一般来说,还是我应该只在看到序列错误时才打扰,或者当我知道它应该启动时它拒绝启动?

4

2 回答 2

4

仅供参考,如果您从通道的发送端重置,则可以将序列号设置为 1。接收端也将返回 1。QED :-)

如果您从通道的接收方重置,则必须使用发送方期望的序列号。

这些数字在双方的队列管理器错误日志中。

如果通道处于 RETRY 状态,它将在下一次重试时尝试使用新的序列号。如果您在发件人通道上使用默认重试属性,这可能需要 20 分钟。一种简单的解决方法是停止通道,然后立即重新启动它。

HTH,G.

于 2013-04-19T06:35:44.840 回答
2

通道出现序列错误有几个原因:

  1. 本地和远程 MCA 在批次上不同步。通常远程 MCA 提交了批处理,而本地 MCA 没有提交。如果您知道远程端交付了批次,RESOLVE ACTION(COMMIT)则在通道上发出 a ,否则发出RESOLVE ACTION(COMMIT). 解决后,发出RESET
  2. 该通道指向一个新的 QMgr。也许在 DNS、电路或防火墙 NAT 的故障转移之后,现在将同名的不同 QMgr 附加到通道。这些应该是众所周知的,因为故障转移(希望)不会在没有一些警报的情况下发生。
  3. 通道同步队列的内容有误。有时 QMgr 可能会导致这种情况,但这些问题在最近的版本中得到了解决(据我所知)。有时人们不小心弄乱了同步队列,通常是在频道尝试使用它时用锁浏览它。这有点难以解决,可能需要清除同步队列,但请先咨询 IBM 支持。

当通道由于故障转移等已知异常而不同步时,请继续并重置它。否则,建议您找出它不同步的原因。您可能会重置它只是为了让它启动并运行,但希望在您保存<QMGR>/errors/AMQERR*.LOG文件和任何 FDC 之前不要这样做,以便您可以诊断原因。

于 2013-04-19T02:36:12.727 回答