一.查看队列管理器运行状态
dspmq
显示结果中QMNAME表示MQ队列管理器的名称,STATUS表示当前运行状态。
运行状态有如下几种:
Starting 正在启动
Running 正在运行
Ending 正在停止
Ended normally 已经正常终止
Ended immediately 已经立即终止
Ended preemtively 已经强制终止
Ended unexpectively 异常终止
注:停止MQ后建议使用dspmq命令进行状态检查是否成功关闭。
二.查看通道运行状态与启停通道
runmqscQmgrNamedischl(∗);查看所有通道定义dischs(∗);查看所有通道状态,如果没有查询到通道状态,或报错AMQ8420:ChannelStatusnotfound,请启动通道dischs(ChannelName);查看通道ChannelName的状态通道状态有如下几种:STARTING正在启动BINDING正在绑定INITIALIZING正在初始化RUNNING正常STOPPING正在停止RETRYING重试PAUSED等待STOPPED已停止REQUESTING请求启停通道与重置通道序号的方法:
r
u
n
m
q
s
c
Q
m
g
r
N
a
m
e
d
i
s
c
h
l
(
∗
)
;
查
看
所
有
通
道
定
义
d
i
s
c
h
s
(
∗
)
;
查
看
所
有
通
道
状
态
,
如
果
没
有
查
询
到
通
道
状
态
,
或
报
错
A
M
Q
8420
:
C
h
a
n
n
e
l
S
t
a
t
u
s
n
o
t
f
o
u
n
d
,
请
启
动
通
道
d
i
s
c
h
s
(
C
h
a
n
n
e
l
N
a
m
e
)
;
查
看
通
道
C
h
a
n
n
e
l
N
a
m
e
的
状
态
通
道
状
态
有
如
下
几
种
:
S
T
A
R
T
I
N
G
正
在
启
动
B
I
N
D
I
N
G
正
在
绑
定
I
N
I
T
I
A
L
I
Z
I
N
G
正
在
初
始
化
R
U
N
N
I
N
G
正
常
S
T
O
P
P
I
N
G
正
在
停
止
R
E
T
R
Y
I
N
G
重
试
P
A
U
S
E
D
等
待
S
T
O
P
P
E
D
已
停
止
R
E
Q
U
E
S
T
I
N
G
请
求
启
停
通
道
与
重
置
通
道
序
号
的
方
法
:
runmqsc QmgrName
start chl(ChannelName); 启动通道
stop chl(ChannelName); 停止通道
reset channel(ChannelName); 重置通道序号。
当本地与其他MQ队列管理器的通道无法正常启动的情况,检查日志发现是通道序号不一致,此时就需要先停止发送方通道,并在发送方和接收方进行通道计数的重置,重置后启动通道即可恢复通讯。想了解为什么要重置通道,请查看文章:Websphere MQ消息序号Message Sequence详解
三.查看通道监听状态与启停监听
runmqscQmgrNamedislistener(∗);查看通道监听定义dislsstatus(listnerName);查看监听状态启动与停止监听的方法:
r
u
n
m
q
s
c
Q
m
g
r
N
a
m
e
d
i
s
l
i
s
t
e
n
e
r
(
∗
)
;
查
看
通
道
监
听
定
义
d
i
s
l
s
s
t
a
t
u
s
(
l
i
s
t
n
e
r
N
a
m
e
)
;
查
看
监
听
状
态
启
动
与
停
止
监
听
的
方
法
:
runmqsc
start lstr(listnerName); 启动监听
stop lstr(listnerName); 停止监听
四.查看队列深度
如果队列深度不断增加,不见减少,那么可能就有问题了,请检查并分析其原因。
$runmqsc QmgrName
dis q(*); 查看所有各类队列的属性
dis qlocal(QName); 查看所有本地队列的属性
队列深度属性为:CURDEPTH
五.查看死信队列深度
如果死信队列深度不断增加,那就需要分析其原因。
$runmqsc QmgrName
dis qlocal(DEADQName)