假设队列管理器为QMgrName,以下所有使用QMgrName的地方您都可以替换成您维护的mq队列管理器名称。

一、MQ的启动与停止

用root用户启/停需要root用户包含在mqm组中。

1、MQ的启动

strmqm QMgrName

如果启动默认队列管理器,strmqm后可以忽略队列管理器名称。

在意外情况停止队列管理器后,启动可能会失败,此时可以检查上次停止后是否有IPC资源未释放,若有请予以删除,删除方法参考下面的“C.清理所有残留在系统内部的信号灯和共享内存”。

2、MQ的关闭

一般情况下,我们使用“endmqm 
-i QMgrName”来停止mq,如果停止失败,可以使用如下步骤:

步骤1:endmqm 
-p QMgrName,如果停不掉,继续步骤2;

步骤2:杀死有关进程,清理残留在系统内部的信号灯和共享内存

A.找到队列管理器程序进程

ps
-ef|grep QMgrName

B.使用kill命令终止1>中找到的程序进程,无法停止的进程可以用kill
-9来终止,终止进程的顺序如下(不存在的进程可以忽略):

kill amqpcsea  命令服务器
kill amqhasmx  记录器
kill amqharmx  日志格式化器(仅LINEAR日志)
kill amqzllp0  检查点处理器
kill amqzlaa0  队列管理器代理
kill amqzxma0  处理控制器
kill amqrrmfa  库进程(用于群集)
C.清理所有残留在系统内部的信号灯和共享内存(其属主和组均为mqm)
ipcs -s| grep mqm | awk
'{print $2}'|xargs -i ipcrm -s {}
ipcs -m| grep mqm | awk
'{print $2}'|xargs -i ipcrm -m {}

二、MQ运行状态查看与常用操作

1、查看队列管理器运行状态

对MQ 5.2或以上版本,执行如下命令检查队列管理器运行状态:dspmq
显示结果中QMNAME表示MQ队列管理器的名称,STATUS表示当前运行状态。
运行状态有如下几种:
Starting    正在启动

Running    正在运行

Ending    正在停止

Ended
normally  已经正常终止
Ended
immediately  已经立即终止
Ended
preemtively  已经强制终止
Ended
unexpectively 异常终止

注意:停止MQ后必须使用dspmq命令进行状态检查

dspmq查询结果示例:
QMNAME(QM00)    STATUS(Running)

2、查看通道运行状态与启停通道

runmqsc

dis
chl(*);    
查看所有通道定义

dis
chs(*);    
查看所有通道状态,如果没有查询到通道状态,或报错AMQ8420: Channel Status not
found,请启动通道

dis chs(ChannelName);
查看通道ChannelName的状态

通道状态有如下几种:

STARTING  正在启动

BINDING    正在绑定

INITIALIZING  正在初始化

RUNNING   正常

STOPPING 正在停止

RETRYING 
重试
PAUSED 
等待
STOPPED 已停止
REQUESTING 
请求

start chl(ChannelName);
 启动通道

stop chl(ChannelName); 
停止通道

reset
channel(ChannelName);  重置通道序号。当本地与其他MQ队列管理器的通道无法正常启动的情况,检查日志发现是通道序号不一致,此时就需要先停止发送方通道,并在发送方和接收方进行通道计数的重置,重置后启动通道即可恢复通讯。

3、查看通道监听状态与启停监听

runmqsc

dis
listner(*);    
查看通道监听定义

dis
lsstatu(listnerName);  
查看监听状态

start lstr(listnerName);
启动监听

stop lstr(listnerName);
停止监听

4、查看队列深度

runmqsc

dis
q(*);   
查看所有各类队列的属性

dis qlocal(QName);  
查看所有本地队列的属性

队列深度属性为:CURDEPTH

5、查看死信队列
dis qlocal(DEADQName)

三、日常维护项目

1、监控文件系统/var/mqm的使用情况,建议不要超过80%。

2、定期报告MQ系统错误,备份清理MQ系统错误记录
在遇到问题时,检查/var/mqm/errors目录下是否有新的FDC文件产生,如果有应当检查原因。另外,要定期检查该目录下MQ错误日志。

3、检查日志个数是否增长
使用命令cd移动到MQ日志所在目录(/var/mqm/log/QMgrName/active/),使用ls
–l|wc命令统计。

4. 检查MQ队列管理器错误日志
当系统运行不正常时首先检查:/var/mqm/qmgrs/QMgrName/errors/AMQERR0n.LOG

错误消息生成后总是放在AMQERR01中,AMQERR02和AMQERR03文件用于保存历史错误消息。

附图:/var/mqm目录结

注:转载于http://www.daobugu.com/New/index/id/109.html

MQ日常命令的更多相关文章

  1. (转)WebSphere MQ基础命令

    --查看MQ版本-- dspmqver --查看队列状态--dspmq --创建队列管理器--crtmqm -q ECIS_QM --删除队列管理器--dltmqm ECIS_QM --启动队列管理器 ...

  2. mq常用命令

    IBM MQ常用命令   常用命令 创建队列管理器crtmqm –q QMgrName-q是指创建缺省的队列管理器删除队列管理器dltmqm QmgrName启动队列管理器strmqm QmgrNam ...

  3. WebSphere MQ常用命令及配置

    WebSphere MQ常用命令及配置 (2012-06-23 23:09:16) 标签: mq命令 杂谈 分类: MQ [导读]WebSphere MQ常用命令及配置 一,队列管理命令 1,创建队列 ...

  4. MQ日常维护操作手册

    假设队列管理器为QMgrName,以下所有使用QMgrName的地方您都可以替换成您维护的mq队列管理器名称. 一.MQ的启动与停止 用root用户启/停需要root用户包含在mqm组中. 1.MQ的 ...

  5. (转)mq常用命令

    (暂时放一放) 创建队列管理器crtmqm qmgrname   删除队列管理器dltmqm [-z] qmgrname   启动队列管理器strmqm qmgrname   停止队列管理器endmq ...

  6. RedHat Linux下MQ安装步骤及MQ常用命令

    1.检查操作系统及内存情况:lsb_release -a; 2   检查java 环境:java -version 3   新建用户空间.用户和组: //创建用户目录 mkdir /home/mqm ...

  7. (Linux 日常命令)[20171225]

    目的:记录Linux日常所用命令 [20171222]Linux环境下查看硬件组件型号 cat /proc/cpuinfo及lspci 查看CPU [root@t-redhat- ~]# cat /p ...

  8. IBM Websphere MQ常用命令及常见错误

    MQSC: MQ Script Command  (不区分大小写) 注明: 下面命令行中的队列管理器名字,队列名字分别用QmgrName, QName替代. 下面标蓝色的,都需要根据实际配置更改! 打 ...

  9. Shell脚本字符串匹配及日常命令工具 - 用法总结(技巧指南)

    Shell提供了很多字符串和文件处理的命令,如awk.expr.grep.sed等命令,还有文件的排序.合并和分割等一系列的操作命令.下面重点总结下Shell字符串处理.文本处理以及各类命令及函数用法 ...

随机推荐

  1. 拓扑排序(基于dfs+基于队列)

    经典问题-Ordering Tasks dfs函数的返回值表示是否成环,若存在有向环,则不存在拓扑排序.不包含有向环的有向图称为有向无环图(DAG) 可以借助DFS完成拓扑排序,在访问完一个结点时把他 ...

  2. 【WPF学习】第二十七章 Application类的任务

    上一章介绍了有关WPF应用程序中使用Application对象的方式,接下来看一下如何使用Application对象来处理一些更普通的情况,接下俩介绍如何初始化界面.如何处理命名行参数.如何处理支付窗 ...

  3. JVM性能分析 | 一次生产系统Full GC问题分析与排查总结

    一次生产系统Full GC问题分析与排查总结 背景 最近某线上业务系统生产环境频频CPU使用率过低,频繁告警,通过重启可以缓解,但是过了一段时间又会继续预警,线上两个服务节点相继出现CPU资源紧张,导 ...

  4. vue2.x中子组件修改父组件通过pops传递过来的值

    首先,父组件向子组件传值 这里面主要是在传值的时候,加上.sync 然后子组件通过 $emit 修改 如此即可完成对父组件的数据操作

  5. TensorFlow 编程基础

    1.TensorFlow 安装:https://www.cnblogs.com/pam-sh/p/12239387.html https://www.cnblogs.com/pam-sh/p/1224 ...

  6. input输入框联想功能

    一直想找一个可以连接后台,可以根据后台内容的input输入框,可以实现联想功能,网上找到一个简单的静态页面的输入框联想,经过一番修改之后终于可以实现读取自己定义的数组的联想了,其实也比较简单就是格式的 ...

  7. 使用alpine制作最小化的JDK基础镜像

    注意:这里使用的是oracle的JRE,版本是1.8. 1.解压jre包,删除根目录下文本文件,然后删除其他不必要文件. #解压 tar xvcf jre-8u161-linux-x64.tar.gz ...

  8. 《N诺机试指南》(三)STL使用

    1.vector 2.queue 3.stack 4.map 5.set 6.多组输入输出问题 详解见代码以及注释: //学习STL的使用 #include <bits/stdc++.h> ...

  9. 2019牛客多校2 H Second Large Rectangle(悬线法)

    题意: 求第二大子矩形 思路: 设最大子矩形x*y,第二大子矩形一定在一下情况中 (x-1)*y x*(y-1) 其他最大子矩形候选者 注意去重手法 代码: #include<iostream& ...

  10. Standby Redo Logs的前世今生与最佳实践

    编辑手记:使用过Data Guard的人应该对于Standby Redo Logs都不陌生,在配置了 Standby Redo Logs的standby中,能够进行日志的实时应用,同时Standby ...