ibm-mq - MQ 中的主日志文件和辅助日志文件

标签 ibm-mq

Source

LogPrimaryFiles=3|2-254 (Windows)|2-510 (UNIX systems)

The log files allocated when the queue manager is created.

<小时/>

LogSecondaryFiles=2|1-253 (Windows)|1-509 (UNIX systems)

The log files allocated when the primary files are exhausted.

<小时/>

据我了解,这些日志文件是事务日志的一部分。

现在,在创建队列管理器时,如果我要使用以下设置,

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

我想知道8个辅助日志文件耗尽后会发生什么,即所有主日志文件和辅助日志文件都被填满的情况。

接下来,如果我要使用这些设置,

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

在这种情况下,我想知道之后会发生什么,

  1. 所有主日志文件均已耗尽。
  2. 所有辅助日志文件均已耗尽。

此外,当需要恢复队列管理器时,需要重新启动队列管理器。队列管理器将从事务日志中定义的最后一个同步点恢复。但是,我对这个同步点所在的位置感到困惑。它是在主日志文件还是辅助日志文件中,还是可能存在于其中任何一个日志文件中?

最佳答案

无论是线性日志还是循环日志,一旦主盘区和辅助盘区填满了同步点下的消息,QMgr 将开始回滚事务以释放一些日志空间。有一种误解认为线性日志可以在同步点下处理任意数量的消息,因为它们不会被重用。

使用线性日志,所有持久消息都将捕获在日志中,并且同步点下的消息必须适合主范围和辅助范围。

对于循环日志,日志中仅捕获同步点下的消息。

最后的一致性点始终是最旧的事件日志范围。请参阅信息中心部分 Determining superfluous log files更多细节。艾尔索普,看看Mission:Messaging: Circular logs vs. linear logs以获得更深入的解释。

关于ibm-mq - MQ 中的主日志文件和辅助日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21925093/

相关文章:

c# - Websphere MQ - 在 .NET 中从一个队列移动到另一个队列时保持消息上下文和身份

java - MQ - 获取多实例 MQ 管理器连接列表

apache-camel - Apache Camel MQXAQueueConnectionFactory

java - 我发送到队列的 SOAP 请求在 IBM MQ 上格式不正确

c# - IBM MQ XMS.NET 客户端重新连接超时无法更改

jms - 在 WAS 上设置队列的目标客户端选项

ibm-mq - 如何确定队列的 `MaxMsgLength`的值

java - MQJE001 : An MQException occurred: Completion Code 2, Reason 2009怎么解决

batch-file - GnuWin32 openssl s_client 连接到 WebSphere MQ 服务器未在 EOF 关闭,挂起

java - java程序读取MQ Event消息