MQ故障诊断及解决:[1]完全仓储库不可用
1、1、问题描述
在MQ集群中的完全仓储库WTESTAP1环境执行查询集群队列命令报错,信息如下
dis qc(TEST_H1)
1 : dis qc(TEST_H1)
AMQ8434: The repository is unavailable.
在MQ集群中的其他指向QMTESTA的非完全仓储库,查询clusqmgr状态,显示QMTESTA状态不正常,为已被移出集群,结果如下
dis clusqmgr(*) suspend
1 : dis clusqmgr(*) suspend
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(SYSTEM.TEMPQMGR.192.168.1.16(1429))
CHANNEL(TO.QMTESTA) CLUSTER(CLQTEST)
SUSPEND(YES)
2、2、问题分析
在/var/mqm/test/qmgrs/QMTESTA/errors目录下的日志文件中发现报错信息如下
AMQ7472: Object SYSTEM.CLUSTER.REPOSITORY.QUEUE, type queue damaged.
在QMTESTA的队列管理器中查看该队列,报错信息如下
dis ql(SYSTEM.CLUSTER.REPOSITORY.QUEUE)
8 : dis ql(SYSTEM.CLUSTER.REPOSITORY.QUEUE)
AMQ8149: WebSphere MQ object damaged.
[2016, SYSTEM.CLUSTER.REPOSITORY.QUEUE]
SYSTEM.CLUSTER.REPOSITORY.QUEUE队列存放集群仓储库的信息,由于该队列被损坏,导致QMTESTA状态不正常
3、3、问题解决
在WHVPSAP1上删除已损坏的本地队列,执行命令如下
runmqsc QMTESTA
delete ql(SYSTEM.CLUSTER.REPOSITORY.QUEUE)
在QMHVPSA上创建同名同属性的队列,执行命令如下
DEFINE QL(SYSTEM.CLUSTER.REPOSITORY.QUEUE) ACCTQ(QMGR) BOTHRESH(0) CLWLPRTY(0) CLWLRANK(0) CLWLUSEQ(QMGR) DEFBIND(OPEN) DEFPRTY(0) DEFPSIST(NO) DEFPRESP(SYNC) DEFREADA(NO) DEFSOPT(SHARED) DISTL(NO) GET(ENABLED) HARDENBO MAXDEPTH(999999999) MAXMSGL(4194304) MONQ(QMGR) MSGDLVSQ(PRIORITY) NOTRIGGER NPMCLASS(NORMAL) PUT(ENABLED) PROPCTL(COMPAT) QDEPTHHI(80) QDEPTHLO(20) QDPHIEV(DISABLED) QDPLOEV(DISABLED) QDPMAXEV(ENABLED) QSVCIEV(NONE) QSVCINT(999999999) RETINTVL(999999999) SCOPE(QMGR) SHARE STATQ(QMGR) TRIGDPTH(1) TRIGMPRI(0) TRIGTYPE(FIRST) USAGE(NORMAL)
创建完成后启动到集群中另外一个完全仓储库的发送通道 。