事务日志文件系统(/var/mqm/log) 已满,我在尝试客户端连接到此队列管理器时遇到队列管理器的 MQRC 2102 资源问题。我们可以采取什么行动来解决这个问题?

LogPrimaryFiles=2
LogSecondaryFiles=8
LogFilePages=16384
LogType=CIRCULAR
LogBufferPages=0
LogPath=/var/mqm/log/QMGRA/
LogWriteIntegrity=TripleWrite

向/var/mqm/log 添加额外的磁盘空间是唯一的解决方案吗?

我有几个队列已满,但队列存储文件系统仅使用了 60%。

请给我一些关于这方面的想法。

最佳答案

每个日志文件页为 4096 字节,因此 LogFilePages=16384 的设置会导致每个日志文件的扩展区为 64MB。通过设置 LogPrimaryFiles=2LogSecondaryFiles=8,最多可以有 10 个日志文件,总共 640MB。如果循环日志所在的文件系统少于此数量,则可能会填满。

此处的最佳解决方案是将日志文件磁盘分配的大小增加到略大于日志文件扩展区所需的大小。如果这是不可能的或者您需要临时修复,则有必要通过减少区数并重新启动 QMgr 来更改日志文件要求的大小。请注意,您可以调整日志范围的数量,但不能调整范围的大小。如果需要更改 LogFilePages=16384 参数,则需要重建 QMgr。

盘区的数量和大小表示同步点下可以同时处理的数据总量,但在大多数情况下 640MB 是足够的。在时间方面,它还限制了事件 QMgr 上工作单元的最长可能持续时间。这是因为如果日志文件中的头指针超过尾指针,则未完成的事务将被回滚。例如,假设一个 channel 进入重试状态。这将在同步点下保存一批消息并保持该日志范围处于事件状态。当应用程序和其他 channel 执行它们的正常操作时,额外的事务驱动头指针向前。最终将使用所有范围,尽管可能只有很少的未完成事务,但最旧的事务将回滚以释放该范围并向前推进尾指针。如果错误日志显示许多事务回滚到可用日志空间,那么您确实需要为日志文件分区分配更多空间并增加扩展区的数量。

关于ibm-mq - WebSphere MQ 事务日志文件系统已满,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5921023/

10-16 06:19