监视传输队列切换

监视集群发送方通道切换传输队列的过程非常重要,以便最大程度地降低对企业的影响。 例如,当工作负载较高或同时切换多个通道时,不应尝试此过程。

切换通道的过程

用于切换通道的过程为:
  1. 通道打开新的传输队列以用于输入,并开始从中获取消息 (使用按相关标识获取)
  2. 队列管理器启动后台进程,以将排队等待通道的任何消息从其旧传输队列移至其新传输队列。 在移动消息时,通道的任何新消息都将排队到旧传输队列以保留排序。 如果通道的旧传输队列上有大量消息,或者新消息正在快速到达,那么此过程可能需要一段时间才能完成。
  3. 如果没有已落实或未落实的消息仍在其旧传输队列上排队等待通道,那么交换机已完成。 现在,新消息将直接放入新的传输队列中。
为了避免大量通道同时切换的事件, IBM® MQ 提供了切换一个或多个未在运行的通道的传输队列的能力。 开:
  • IBM MQ for Multiplatforms 该命令称为 runswchl
  • IBM MQ for z/OS® CSQUTIL 实用程序可用于处理 SWITCH CHANNEL 命令

监视交换机操作的状态

要了解交换机操作的状态,管理员可以执行以下操作:
  • 监视队列管理器错误日志 (AMQERR01.LOG) ,其中输出消息以指示操作期间的以下阶段:
    • 交换机操作已启动
    • 消息移动已启动
    • 定期更新要移动的消息数 (如果交换机操作未快速完成)
    • 消息移动已完成
    • 交换机操作已完成
    z/OS上,这些消息将输出到队列管理器作业日志,而不是通道启动程序作业日志,尽管如果通道在启动时启动交换机,那么单个消息将由通道输出到通道启动程序作业日志。
  • 使用 DISPLAY CLUSQMGR 命令来查询每个集群发送方通道当前正在使用的传输队列。
  • 以查询方式运行 runswchl 命令 (或在 z/OS上运行 CSQUTIL) 以确定一个或多个通道的切换状态。 此命令的输出标识每个通道的以下内容:
    • 通道是否具有暂挂的交换机操作
    • 通道从哪个传输队列切换到哪个传输队列
    • 旧传输队列上保留的消息数
    每个命令都非常有用,因为在一次调用中,您可以确定每个通道的状态,配置更改所产生的影响以及是否所有交换机操作都已完成。

可能发生的潜在问题

请参阅 切换传输队列时的潜在问题 ,以获取在切换传输队列时可能迂到的一些问题及其原因和最可能的解决方案的列表。