MQ通道的维护及常用命令

合集下载

常用MQ命令

常用MQ命令

觉得很有参考价值,跟大家分享。
1. 安装好MQ之后,本身MQ会给你提供一些src的sample,有些是非常有用的,前提是你要装sample,可以将那些src的东东按照自己的需求
修改后编译使用,exam(linux):gcc -o destname srcname -lmqm
2. 生产环境的QM由于某种需求,要更换服务器,又要保证在很短的时间内切换完成,那么怎么将原有定义的mq资源导出来,并形成ddl脚本呢?IBM提供了这么一个简单有效的导出工具(里面又各种平台的导出脚本),可以在ibm官方网站上搜索ms03,将它下载下来使用;注意要启动MQ的commandserver
删除队列
DELETE QLOCAL(QNAME)
DELETE QREMOTE(QRNAME)
清除队列中的所有消息
CLEAR QLOCAL(QNAME)
以下是一些高级配置的命令:
amqmcert 配置SSL证书
amqmdain 配置windows上的MQ服务
远程队列定义
DEFINE QREMOTE(QRNAME) +
RNAME(AAA) RQMNAME(QMGRNAME) +
XMITQ(QTNAME)
定义模型队列
DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)
定义本地传输队列
DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) +
其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。
创建接收方通道

MQ通道的维护及常用命令

MQ通道的维护及常用命令

M Q通道的维护及常用命令Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-199986.3.1通道的状态下图显示了所有可能的通道状态层次结构,在 MQ for AIX, iSeries, HP-UX, , Solaris, 和 systems, 和 WebSphere MQ for OS/2 Warp平台,这些状态对连接通道也适用。

?图,通道状态如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。

通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。

下图显示通道状态之间的变化关系。

?注意:1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or 或STOPPING状态时,这将消耗系统,并且通道的进程或线程正在运行;因为通道是Active状态。

2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。

下面将详细地介绍通道有关的维护命令。

创建通道为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。

这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。

可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。

注意:建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。

创建通道的例子PE(SDR) +DESCR(’Sender channel to QM2’) +CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)I修改通道可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。

MQ通道的维护及常用命令精选文档

MQ通道的维护及常用命令精选文档

M Q通道的维护及常用命令精选文档TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-6.3.1通道的状态下图显示了所有可能的通道状态层次结构,在 MQ for AIX, iSeries, HP-UX, , Solaris, 和 systems, 和 WebSphere MQ for OS/2 Warp平台,这些状态对连接通道也适用。

图,通道状态如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。

通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。

下图显示通道状态之间的变化关系。

注意:1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or或STOPPING状态时,这将消耗系统,并且通道的进程或线程正在运行;因为通道是Active状态。

2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。

通道维护命令下面将详细地介绍通道有关的维护命令。

创建通道为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。

这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。

可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。

注意:建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。

创建通道的例子DEFINE CHANNEL CHLTYPE(SDR) +DESCR(’Sender channel to QM2’) +CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)I修改通道可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。

MQ常用命令

MQ常用命令

QUEUE(QMB)
TYPE(QLOCAL)
ACCTQ(QMGR)
ALTDATE(2009-02-06)
ALTTIME(11.41.44)
BOQNAME( )
BOTHRESH(0) CLUSTER( )
CLUSNL( ) CLWLPRTY(0)
CLWLRANK(0)
CLWLUSEQ(QMGR)
CRDATE(2008-12-05)
1.查看所有队列管理器 dspmq
查看所有的通道
dis chl(name)/dis chl(*)/dis chl(*) all/dis channel(name)
查看通道状态
dis chs(name)/dis chs(*)/dis chs(*) all
查看队列
display queue(name)
查看队列管理器信息(包括 CCSID 等信息) dis qmgr
种方法。 需要注意的时,当 DEPTH 属性值为0的时候,实际上就形成了同步通信。另外,当采用 Depth 触发时,产生触发消息以后,队列将被修改为非触发方式,如果需要再次触发,需要重新设 置成允许触发。
一般而言,在实际应用中,如果通道设置成触发方式,触发类型往往设置成为 FIRST 和
DEPTH。
6.修改 ccsid
alter qmgr ccsid(“XXX”)
一、MQ 的启动与停止
用 root 用户启/停需要 root 用户包含在 mqm 组中。
1、MQ 的启动 strmqm QMgrName 如果启动默认队列管理器,strmqm 后可以忽略队列管理器名称。 在意外情况停止队列管理器后,启动可能会失败,此时可以检查上次停止后是否有 IPC 资 源未释放,若有请予以删除,删除方法参考下面的“C.清理所有残留在系统内部的信号灯和 共享内存”。

mq操作命令

mq操作命令

1. 启动命令行QMEMBFE是QM名字runmqsc QMEMBFE (进入MQ的命令行)显示队列DISPLAY QUEUE(*)显示通道DISPLAY CHANNEL(*)显示侦听器DISPLAY LISTENER(*)SDR发送方通道,RCVR接收方通道2. 创建MQMcrtmqm -lf 16384 -lp 10 -ls 10 QMEMBFE3. 启动MQMstrmqm QMEMBFE3.1删除MQMDltmqm QMEMBFEStart chl(通道名) 启动通道4. 运行脚本runmqsc QMEMBFE < mbfemq.sc5. 确定测试商业银行所对应接入点的通道状态是否为running#runmqsc QMEMBFEdis chs(5012900001.GW2900)dis chs(GW2900.5012900001)dis chstatus(ChannelName) 查看通道状态dis chs(5012900001.GW2900)1 : dis chs(5012900001.GW2900)AMQ8420: 通道状态未找到。

dis chs(GW2900.5012900001)2 : dis chs(GW2900.5012900001)AMQ8417: 显示通道状态细节。

CHANNEL(GW2900.5012900001) CHLTYPE(RCVR)CONNAME(172.26.190.4) CURRENTRQMNAME(QME2900) STATUS(RUNNING) SUBSTATE(RECEIVE) XMITQ( )172.26.190.4 14181. 创建队列管理器crtmqm -q QMA(-q表示QMA为默认队列管理器)2. 启动队列管理器strmqm QMA(对于默认队列管理器,则为strmqm )Q 3. 启动管理器平台runmqsc QMA4. 定义本地队列define qlocal(queueA)若用于队列管理器之间进行通信,这应为define qlocal(queue1) usage(xmitq)5. 定义远程队列define qremote(queue.remote) rname(.queue)rqmname(queueB)xmitq(queue1)(.queue为远程队列管理器queueB中的本地队列)6. 定义发送端通道define channel(queueA.queueB)chltype(sdr)conname(192.168.1.90(1414)) xmitq(queueA)trptype(tcp)7. 定义接受方通道define channel(queueA.queueB) chltype(rcvr) trptype(tcp)8. 更改侦听端端口号alter listener(system.default.listener.tcp)trptype(tcp)port(1415)9. 启动侦听start listener(system.default.listener.tcp)在命令行c:\runmqlsr10. 列出侦听状态display lsstatus(*)11. 测试,向队列中放入消息amqsput queue_name queue_manager_name从队列中取出消息amqsget queue_name queue_manager_name12. 在服务器方建立用于客户方链接的通道define channel(channel2) chltype(svrconn) trptype(tcp)mcauser()13. 在客户机方,使用MQSERVER定义客户机链接通道(如使用了ActiveDirectory服务支持,则可略过本步骤)SET MQSERVER=CHANNEL1/TCP/192.168.1.90(1414) //Windowsexport MQSERVER=’CHANNEL1/TCP/server-hostname(port)’//linux15. 测试,向队列中放入消息amqsputc queue_name queue_manager_name从队列中取出消息amqsgetc queue_name queue_manager_name16. 关闭队列管理器endmqm mqm_nameendmqm -i mqm_name17. 结束所有侦听进程endmqlsr -m mqm_name18. 查看WebSphere MQ版本号dspmqver19. 查看已有的MQ管理器dspmq20. 启动WebSphere MQ Explorerstrmqcfg21.查看通道的消息序列DIS CHS(CHANNEL_NAME) CURSEQNO;。

IBMMQ常用命令

IBMMQ常用命令

IBMMQ常用命令IBM MQ是一款广泛应用于企业级应用程序开发和数据传输的消息队列软件。

该软件具有出色的可扩展性和稳定性,可满足不同规模和需求的企业应用场景。

为了更好地管理和操作IBM MQ,下面将介绍IBMMQ常用命令。

1. crtmqm命令crtmqm命令是创建IBM MQ队列管理器的命令。

例如,要创建一个名为QMGR1的队列管理器,我们可以使用以下命令:crtmqm QMGR12. strmqm命令strmqm命令是启动IBM MQ队列管理器的命令。

例如,要启动名为QMGR1的队列管理器,我们可以使用以下命令:strmqm QMGR13. endmqm命令endmqm命令是停止IBM MQ队列管理器的命令。

例如,要停止名为QMGR1的队列管理器,我们可以使用以下命令:endmqm QMGR14. runmqsc命令runmqsc命令是启动IBM MQ命令行管理工具的命令。

我们可以在命令行模式下使用该命令来执行各种MQ管理任务。

例如,要启动runmqsc,我们可以使用以下命令:runmqsc QMGR15. crtmqobj命令crtmqobj命令是创建IBM MQ队列和通道的命令。

例如,要创建一个名为MYQUEUE的本地队列,我们可以使用以下命令:crtmqobj QMGR1 QLOCAL(MYQUEUE)6. dltmqobj命令dltmqobj命令是删除IBM MQ队列和通道的命令。

例如,要删除名为MYQUEUE的本地队列,我们可以使用以下命令:dltmqobj QMGR1 QLOCAL(MYQUEUE)7. display命令display命令是显示IBM MQ队列管理器、队列和其他对象的信息的命令。

例如,要显示名为QMGR1的队列管理器的配置信息,我们可以使用以下命令:display qmgr QMGR18. Inquire命令Inquire命令是查询IBM MQ队列管理器、队列和其他对象的信息的命令。

MQ常用命令

MQ常用命令

查看死信队列:dis qlocal(DEADQ)
查看本地队列:dis qlocal(*)
查看本地队列深度: display ql(xxx) curdepth
查看远程队列深度:display qr(xxx) curdepth
查看ccsid: display qmgr all
更改监听: alter listener(xxxx) TRPTYPE(TCP) PORT(1417) CONTROL(QMGR)
停止监听: end LISTENER(xxxx)
查看通道当前序列号: dis chs(xxxx) curseqno
查看通道所有状态: dis chs(xxxxx) all
查看通道: dis chl(xxx)
查看所有通道 dis chl(*) 或 dis chs(*或 dis lsstatu(listentName)
查看本地队列:dis qlocal(xxxxx) 查看其中的 CURDEPTH(0),若其>0,则说明本地队列堵塞
显示所有远程队列: display qremote(*)
显示所有通道: display channel(*)
ping通道:ping CHANNEL(xxxx)
清空队列内容:clear Qlocal(Qname)(需运行 runmqsc)
删除队列:delete qlocal(Qname)
以下为MQ常用命令:
查看发送通道:display channel(xxx)
查看队列管理器: dspmq
停止队列管理器:endmqm QMEMBFE
删除队列管理器:dltmqm QMEMBFE
重置发送通道:reset channel(xxxx)

MQ日常维护文档

MQ日常维护文档

MQ日常维护文档MQ日常维护文档一. 简介 (3)1. MQ目录结构 (3)二. 常用MQ系统命令 (3)1. 观察MQ队列管理器运行状态 (3)三. 使用MQSC脚本命令管理 (4)1. 进入指定队列管理器脚本命令控制台 (4)2. 常用MQSC脚本命令 (4)查看所有通道状态 (4)检查通道具体状态 (4)检查队列配置和深度 (4)四. 维护项目 (4)1. 实时监控以下文件系统使用情况: (4)2. 定期报告MQ系统错误,备份清理MQ系统错误记录 (5)3. 监控队列深度 (5)4. 检查死信队列 (5)5. 检查日志个数是否增长 (5)6. 检查MQ队列管理器错误日志 (5)7. 清理队列管理器IPC资源............................................................. 错误!未定义书签。

8. 检查、处理队列管理器pending事务 (6)一.简介1. MQ目录结构MQ系统错误记录目录:/var/mqm/errorsMQ队列管理器目录(缺省情况下)/var/mqm/qmgrs/注意:必须保证该目录下的任何文件不被修改,不被删除,否则MQ队列管理器将遭到致命破坏,无法恢复,本地消息全部丢失。

二.常用MQ系统命令1. 观察MQ队列管理器运行状态对于MQ 5.1及以下版本,通过ps –ef | grep 看下面进程是否存在:#amqzxma0 -m对MQ 5.2或以上版本,执行如下命令检查队列管理器运行状态:#dspmq显示结果中表示MQ队列管理器的名称,STATUS表示当前运行状态。

运行状态有:Starting 正在启动Running 正在运行Ending 正在停止Ended normally 已经正常终止Ended immediately 已经立即终止Ended preemtively 已经强制终止Ended unexpectively 异常终止注意:停止系统后必须使用dspmq命令进行状态检查例:$dspmq显示结果QMNAME(QM0000A) STA TUS(Running)QMNAME(QM0000B) STA TUS(Ended normally)三.使用MQSC脚本命令管理1. 进入指定队列管理器脚本命令控制台#runmqsc具体命令:以mqm用户登陆runmqsc2. 常用MQSC脚本命令查看所有通道状态DISPLAY CHSTATUS(*)若通道启动失败,需要检查、分析MQ队列管理器日志文件,可能原因包括:(1)配置错误,如CONNAME。

mq常用命令

mq常用命令

mq常用命令一、连接管理命令1. mqsc:进入MQSC模式,用于管理MQ对象。

2. runmqsc:运行MQSC脚本。

3. strmqm:启动MQ队列管理器。

4. endmqm:停止MQ队列管理器。

5. dspmq:显示当前系统中的MQ队列管理器。

6. crtmqm:创建新的MQ队列管理器。

7. dltmqm:删除指定的MQ队列管理器。

二、队列管理命令1. crtlq:创建本地队列。

2. dltmq:删除本地队列。

3. dmpmqmsg:显示队列中的消息。

4. amqmsrvn:启动MQ服务。

5. amqmdnet:启动MQ分布式网络服务。

6. amqmdgin:启动MQ远程订阅服务。

三、消息处理命令1. amqsput:向队列发送消息。

2. amqsget:从队列接收消息。

3. amqssub:订阅消息。

4. amqssubc:取消订阅消息。

5. amqsgrep:根据消息内容过滤消息。

四、通道管理命令1. crtmqchs:创建MQ通道。

2. dltmqchs:删除MQ通道。

3. strmqmchs:启动MQ通道。

4. endmqmchs:停止MQ通道。

5. dspmqchs:显示MQ通道。

6. amqssslc:启用SSL加密通道。

五、安全管理命令1. setmqaut:设置队列对象的授权。

2. dspmqaut:显示队列对象的授权。

3. setmqaut:设置队列管理器的授权。

4. dspmqaut:显示队列管理器的授权。

5. setmqaut:设置通道的授权。

6. dspmqaut:显示通道的授权。

六、日志管理命令1. amqsbcg:启用MQ日志。

2. amqsbcgc:停用MQ日志。

3. amqsbcgd:调整MQ日志大小。

4. dspmqlog:显示MQ日志。

七、监控命令1. dspmqrte:显示MQ路由器状态。

2. dspmqspl:显示MQ任务状态。

3. dspmqsrv:显示MQ服务状态。

MQ维护与操作

MQ维护与操作

MQ维护与操作MQ维护与操作1.MQ 的⽇志清理MQSeries ⽤错误⽇志记录与MQSeries ⾃⾝运⾏,队列管理器以及通道有关的消息。

因此,错误⽇志对于MQSeries 错误诊断⾮常重要。

AIX 平台上的MQSeries错误⽇志:当队列管理器名称已知,并且队列管理器可⽤时,错误⽇志位于/var/mqm/qmgrs/qmname/errors ⽬录下,如:与MQ 通道有关的消息。

当队列管理器不可⽤时,错误⽇志位于/var/mqm/qmgrs/@SYSTEM/errors ⽬录下;当错误是事务⽇志MQ 的故障维护与Client 应⽤程序有关,错误⽇志位于:/var/mqm/errors ⽬录下。

系统管理员要定期观察错误⽇志,清楚产⽣错误的原因,并根据需要定期清理或备份错误⽇志。

MQSeries 有两种事务⽇志类型:环型⽇志和线型⽇志,所在⽬录为/var/mqm/log环型⽇志预先指定⽇志⽂件的个数,MQ 运⾏时事务⽇志循环使⽤这些⽂件。

环型⽇志的⽇志⽂件所占空间不会增长,也⽆法备份MQ 应⽤系统的映像。

本系统现设计为环型⽇志。

线型⽇志指MQSeries 在运⾏的过程中会随着⽇志记录的增加⽽产⽣新的⽇志⽂件,线型⽇志的可以保证事务运⾏中产⽣的⽇志有⾜够的空间(除⾮⽂件系统空间不⾜),还可以把MQ 应⽤系统的映像备份到⽇志中,在发⽣故障后完整地恢复,线型⽇志⽇志⽂件所占⽤的空间会不断增长,需要系统管理员定期⼿⼯删除过期的⽇志⽂件。

2.如何清除MQ 队列管理器遗留的共享内存和信号量下⾯列出的是⼀段⽤于清除MQSeries 上⼀次遗留的共享内存和信号量的⼩程序。

通常遇到的状况是当启动队列管理器时失败,返回消息AMQ8041,指明以前的进程依然在使⽤中。

解决⽅法:运⾏以下脚本或命令。

ipcs -m| grep mqm | awk '{print $2}'|xargs -i ipcrm -m {}ipcs -s| grep mqm | awk '{print $2}'|xargs -i ipcrm -s {}3.如何解决MQSeries 队列管理器⽆法启动报“AMQ5522”错误当启动MQSeries 队列管理器时,⽆法启动,报“AMQ5522”错误。

MQ 常用命令

MQ 常用命令

1. 队列管理器1.1. 创建队列管理器命令:crtmqm <qmgrName>示例:1.2. 启动队列管理器命令:strmqm <qmgrName>停止队列管理器命令:endmqm -c|-w|-i|-p <qmgrName>参数说明:-c 受控关闭(或停顿关闭)。

这是缺省值。

队列管理器停止,但仅当所有应用程序已断开连接后才停止。

当前正在处理的任何MQI 调用已完成。

立即将控制权返回给您,并且不通知您队列管理器是何时停止的。

对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。

-w 等待关闭。

此类型的关闭等效于受控关闭(除了仅当队列管理器已停止后才将控制权返回给您之外)。

当执行关闭时,您将接收到消息:等待队列管理器qmName 结束。

对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。

-i 立即关闭。

队列管理器在完成所有当前正在处理的MQI 调用后停止。

任何在该命令发出后发出的MQI 请求都将失败。

当队列管理器再次启动时,任何未完成的工作单元将回滚。

队列管理器结束后返回控制权。

对通过服务器连接通道连接的任何客户机应用程序的影响等效于以FORCE 方式发出的STOP CHANNEL 命令。

-p 抢先关闭。

仅在意外情况下使用此类型的关闭。

例如,当队列管理器在常规endmqm 命令下未停止。

队列管理器可以停止而不等待应用程序断开连接或MQI 调用完成。

这可能会产生WebSphere MQ 应用程序的不可预测的结果。

关闭方式设置为立即关闭。

如果队列管理器稍后未停止,关闭方式将升级,且终止所有剩余的的队列管理器进程。

对通过服务器连接通道连接的任何客户机应用程序的影响等效于以TERMINATE 方式发出的STOP CHANNEL 命令。

1.3. 删除队列管理器命令:dltmqm1.4. 显示队列管理器启动状态命令:dspmq2. 管理本地MQ对象使用MQSC 命令执行本地管理任务使用MQSC命令执行定义或修改队列、通道等操作。

MQ测试常用命令

MQ测试常用命令

测试1 本地通道测试1、使用mqadmin用户登录2、执行crtmqm -q TEST_QM,建立测试用的消息管理器。

3、执行strmqm TEST_QM,启动测试用的消息管理器。

4、执行runmqsc TEST_QM5、输入define ql(DATA),回车,建立本地队列DATA6、输入end回车至此,本地测试通道搭建完成,下面进行测试。

1、执行amqsput DATA TEST_QM2、随便输入一些内容,一行为一条消息,可输入多条。

3、输入完毕连续按两次回车退出。

4、执行amqsget DATA TEST_QM,看看能否收到刚才输入的消息,如果能收到,证明MQ 本地通道是正常的。

如果收不到,则MQ安装有问题。

测试2 远程通道测试如果测试1通过,继续进行远程通道测试。

1、执行runmqsc TEST_QM2、输入define chl(TO.TEST) chltype(RCVR) trptype(tcp),创建接收方通道。

3、输入end并回车。

4、执行crtmqm TEST_RQM,建立模拟的远程通道。

5、执行strmqm TEST_RQM6、执行runmqsc TEST_RQM7、输入define ql(TEST) usage(xmitq)8、输入define qr(REMOTE.DA TA) rname(DATA) rqmname(TEST_QM) xmitq(TEST)9、输入define chl(TO.TEST) chltype(sdr) conname('127.0.0.1(1111)') xmitq(TEST) trptype(tcp),创建发送方通道。

10、输入end11、执行runmqlsr -t tcp -m TEST_QM -p 1111,启动接收方的监听。

12、新打开一个telnet会话,用mqadmin登录,执行runmqsc TEST_RQM13、输入start chl(TO.TEST)14、输入end至此,模拟的远程测试通道建立完成,以下进行测试。

(转)mq常用命令

(转)mq常用命令

(转)mq常⽤命令(暂时放⼀放)创建队列管理器crtmqm qmgrname删除队列管理器dltmqm [-z] qmgrname启动队列管理器strmqm qmgrname停⽌队列管理器endmqm –i QmgrName ⽴即停⽌endmqm –p QmgrName 强制停⽌显⽰队列管理器dspmq 查看全部队列dspmq -m qmgrname ----显⽰具体的队列管理器启动代理:strmqbrk -m GCP_QM启动监听器runmqlsr -m qmgrname -p port -t tcpexp runmqlsr -m GCP_QM -p 1414 -t tcp &停⽌监听endmqlsr -m qmgrname选择队列管理器runmqsc Qmgrname退出队列管理器end显⽰队列属性DISPLAY QLOCAL (Q)查看全部队列dis q(*)AIX查看系统版本:lslpp -ah mqm.server.rtelinux查看系统版本:rpm -qa |grep mqendmqm QmgrName 受控停⽌endmqm –i QmgrName ⽴即停⽌endmqm –p QmgrName 强制停⽌dis qmgr 查看队列管理器属性dis q(GCP_NOTIFY_Q_RECOL) 显⽰全部属性dis qs(GCP_NOTIFY_Q_RECOL) 显⽰主要属性修改队列属性ALTER QMGR CCSID (1381)定义队列属性DEFINE CHANNEL (C) CHLTYPE (SDR) CONNAME ('127.0.0.1 (1414)') XMITQ (XQ) exp define channel(CH1) chltype(SVRCONN) trptype(TCP) mcauser('mqm')创建本地队列define qlocal(QueueName)修改队列属性alter qlocal(Qname) maxdepth(5)重新创建本地队列,属性重置为缺省define qlocal (Qname) replace删除本地队列delete qlocal(Qname)查看错误原因以mq⽤户登录,查看mq的错误原因:直接 mqrc 2085查看端⼝占⽤情况通过ps -ef |grep mgrps -ef| grep mqm| grep 1418mqm 9204 1 0 May 05 ? 0:02runmqlsr -m GCP_QM -t TCP -p 1417扩⼤队列深度#su – mqm#runmqsc P_DNMS_QMalter QLOCAL(Q_RM_DATA) MAXDEPTH(100000) //增⼤配置队列深度alter QLOCAL(Q_PM_DATA) MAXDEPTH(100000) //增⼤性能队列深度队列授权:setmqaut -m P_DNMS_QM -n Q_REDEF_ALARM -t q -g mqm +all WebSphere MQ 的⼯作原理的核⼼就是存储转发查看队列管理器的运⾏状态:dspmq查看jmsbreak的运⾏状态:dspmqbrk往队列中放消息amqsput QName QmgrName清除队列中的所有消息CLEAR QLOCAL(QNAME)ps:在清除队列中的消息时候,需要先将占⽤队列的进程停掉,然后执⾏上述清除命令。

MQ维护文档

MQ维护文档

MQ队列管理器启动与关闭MQ可以通过命令行或者图形界面两种方式进行管理一、启动队列管理器1、在命令提示行,可以使用“strmqm QmgrName”的命令打开相应队列管理器(如果是启动默认的队列管理器,可以不带其名字)2、同时也可以使用图形界面启动队列管理器(1)使用strmqcfg命令,打开MQ资源管理器(2)右键单击一个队列管理器,点击“启动”(3)等待启动引导完成(4)启动完成二、关闭队列管理器1、通过命令行方式关闭队列管理器有3种方式:endmqm QmgrName 受控停止endmqm –i QmgrName 立即停止endmqm –p QmgrName 强制停止可以按照自己的需要通过命令关闭相应的队列管理器。

2、(1)右键点击一个运行中的队列管理器,点击“停止”。

(2)出现选项,选择受控或立即(3)等待系统引导完成,关闭完成。

使用命令行对MQ进行常用管理1、队列管理器启动后有时会出现队channel无法自动启动的情况(如下图)这时,可以通过运行runmqchl –c ChlName –m QmgrName命令启动通道。

如果仍然无法启动,可以运行runmqsc QmgrName命令打开MQSC命令,在MQSC下运行REFRESH CLUSTER(*)命令将集群刷新。

显示完成后,所有channel将重新启动2、群集相关的MQ命令:∙DISPLAY CLUSQMGR(name):显示群集中所有队列管理器的信息∙SUSPEND QMGR CLUSTER(cluster):通知群集中的其他队列管理器,表明该队列管理器暂时不可用,要注意的是,这并不意味着将该队列管理器从群集当中彻底移走。

∙RESUME QMGR CLUSTER(cluster):对应于SUSPEND命令,在群集中重新恢复对该队列管理器的使用。

∙REFRESH CLUSTER(cluster):对该命令要特别注意,千万不能从名字上去理解它的作用,它将破坏所有本地保留的与群集相关的信息,包括所有自动定义的群集通道。

MQ常用命令

MQ常用命令

常用MQ命令:启动队列管理器strmqm <QMName>立即停止endmqm –i <QMName>必须看到ended,命令正常结束,才能说明MQ队列管理器已经终止dspmq显示结果中QMNAME表示MQ队列管理器的名称,STA TUS表示当前运行状态运行状态有Starting 正在启动Running 正在运行Ending 正在停止Ended normally 已经正常终止Ended immediately 已经立即终止Ended preemtively 已经强制终止Ended unexpectively 异常终止注意:停止系统后必须使用dspmq命令进行状态检查使用MQSC脚本命令管理runmqsc <QMName>常用MQSC脚本命令查看队列管理器信息DISPLAY QMGR查看所有通道状态DISPLAY CHSTATUS(*)检查通道具体状态DISPLAY CHSTATUS(ChannelName) ALL检查通道配置DISPLAY CHANNEL(ChannelName)检查队列配置和深度DIS QLOCAL(QName)该命令的显示结果可以看出队列当前深度启动通道START CHANNEL(ChannelName)停止通道STOP CHANNEL(ChannelName)解决通道中的可疑交易RESOLVE CHANNEL(ChannelName) ACTION ( COMMIT | BACKOUT )复位通道序号RESET CHANNEL(ChannelName)。

MQ通道的维护及常用命令

MQ通道的维护及常用命令

6.3.1通道的状态下图显示了所有可能的通道状态层次结构,在 MQ for AIX, iSeries, HP-UX, , Solaris, 和 systems, 和 WebSphere MQ for OS/2 Warp平台,这些状态对连接通道也适用。

?图,通道状态如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。

通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。

下图显示通道状态之间的变化关系。

?注意:1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or或STOPPING状态时,这将消耗系统,并且通道的进程或线程正在运行;因为通道是Active状态。

2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。

下面将详细地介绍通道有关的维护命令。

创建通道为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。

这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。

可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。

注意:建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。

创建通道的例子PE(SDR) +DESCR(’Sender channel to QM2’) +CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)I修改通道可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。

mq命令()

mq命令()

mq命令()take xzvftake cvflsof - p [进程id] 可以看到某id的打开文件状况.进程id可能用ps - ef | arrested查看进程打开文件数 lsof - p 10893 | wc - l数据库1) shutdown; / / 停止数据库强制关闭 shutdown immediate shutdown abort2) su / oracle / 切换为oracle用户3) sqlplus 用户名 / 密码 as sysdba;4) startup; / / 启动数据库5) select open _ fashion from v $database; / / 查看启动结果6) treatment; / / 退出sqlplus7) 退出orcl输入: lsnrctl start; / / 启侦听8) 退出orcl输入: lsnrctl status; / / 查看侦听状态9) 测字符集 select userenv ('language') from dual;aix下查看cputopaz< mq _ home > \ > dspmq binqmname (was _ washyf _ server1) status (正在运行)< mq _ home > \ > bin runmqsc was _ washyf _ server1the ql (*)descr (websphere application server queue - do not delete) process () boqname (system.dead.letter.queue)initq () trigdata ()cluster () clusnl ()queue (wq _ testjmsqueue1) crdate (2003 - 10 - 23)crtime (17.11.39) altdate (2003 - 10 - 23)alttime (17.11.39), goat (enabled)put (enabled) defprty (0)defpsist (no) maxdepth (640000)maxmsgl (4194304) bothresh (5)share defsopt (shared)hardenbo msgdlvsq (dai)retintvl (999999999) usage (normal)notrigger trigtype (first)trigdpth (1) trigmpri (0)qdepthhi (80) qdepthlo (20)qdpmaxev (enabled) qdphiev (disabled)qdploev (disabled) qsvcint (999999999)qsvciev (none) distl (no)deftype (predefined) type (qlocal)scope (qmgr) defbind (open)ipprocs (1) opprocs (0)curdepth (0)请注意curdepth (0) 这里的数字就是当前您队列里面的消息数, ipprocs (1) 表示有应用正在监控这个队列6.如果, 有应用正在监控这个队列把使用这个队列的应用停止.7.在命令行窗口下输入:clear ql ("wq _ testjmsqueue1")8: clear ql ("wq _ testjmsqueue1")amq8022: websphere mq 队列已清除.8.退出命令行使用 end 命令.一.mq基本操作mq中有几个很重要的组件: 队列管理器 (queuemanager) 、队列(queue) 和通道 (channel).The basic operation method is as follows:Create queue managerCrtmqm – Q QMgrName-q refers to the creation of a default queue managerDelete queue managerDltmqm QmgrNameStart queue managerStrmqm QmgrNameIf the queue manager is started by default, can not take its nameStop queue managerEndmqm QmgrName controlled stopEndmqm – I QmgrName stops immediatelyEndmqm – P QmgrName forced to stopDisplay queue managerDspmq – m QmgrNameRun MQSeries commandRunmqsc QmgrNameIf it is the default queue manager, can not take its nameSend messages to the queueAmqsput QName QmgrNameIf the queue is a queue in the default queue manager, the name of the queue manager can not be takenTake messages from the queueAmqsget QName QmgrNameIf the queue is a queue in the default queue manager, the name of the queue manager can not be takenStart channelRunmqchl – C ChlName – m QmgrNameStart listeningRunmqlsr – t TYPE – P PORT – m QMgrNameStop listeningEndmqlsr -m QmgrNameMQSeries commandThe definition of the dead letter queueDEFINE QLOCAL (QNAME) DEFPSIST (YES) REPLACESet the queue manager dead letter queueALTER QMGR DEADQ (QNAME)Defining local queuesDEFINE QL (QNAME) REPLACEDefining alias queuesDEFINE QALIAS (QALIASNAME) TARGQ (QNAME)Remote queue definitionDEFINE QREMOTE (QRNAME) +RNAME (AAA) RQMNAME (QMGRNAME) +XMITQ (QTNAME)Defining model queuesDEFINE QMODEL (QNAME) DEFTYPE (TEMPDYN)Defining local transport queuesDEFINE QLOCAL (QTNAME) USAGE (XMITQ) + DEFPSIST (YES) INITQ (SYSTEM.CHANNEL.INITQ) +PROCESS (PROCESSNAME) REPLACECreate process definitionDEFINE PROCESS (PRONAME) +DESCR ('STRING') +APPLTYPE (WINDOWSNT) +APPLICID ("runmqchl -c SDR_TEST -m QM_ TEST")The APPLTYPE value can be: CICS, UNIX, WINDOWS, WINDOWSNT etc. Create sender channelDEFINE CHANNEL (SDRNAME) + CHLTYPE (SDR)CONNAME ("100.100.100.215 (1418) ') XMITQ (QTNAME) REPLACEAmong them, CHLTYPE can be: SDR, SVR, RCVR, RQSTR, CLNTCONN, SVRCONN, CLUSSDR and CLUSRCVR.Create receiver channelDEFINE CHANNEL (SDR_ TEST) CHLTYPE (RCVR) REPLACECreating a server connection channelDEFINE CHANNEL (SVRCONNNAME) CHLTYPE (SVRCONN) REPLACE Displays all the attributes of the queueDISPLAY QUEUE (QNAME) [ALL]Displays the selected attributes of the queueDISPLAY QUEUE (QNAME) DESCR GET PUTDISPLAY QUEUE (QNAME) MAXDEPTH CURDEPTHDisplays all the attributes of the queue manager DISPLAY QMGR [ALL]Display process definitionDISPLAY PROCESS (PRONAME)change attributesALTER QMGR DESCR ('NEW DESCRIPTION')ALTER QLOCAL (QNAME) PUT (DISABLED)ALTER QALIAS (QNAME) TARGQ (TARGQNAME)Delete queueDELETE QLOCAL (QNAME)DELETE QREMOTE (QRNAME)Clear all messages in the queueCLEAR QLOCAL (QNAME)Two. Configure a remote communication connectionThe above describes the basic command operation of MQ, but only know that these are of no practical significance. The ultimate goal of MQ is to realize remote communication,So here's a specific example of how to implement remote connections. The purpose of this example is to build a pair of MQ servers that can implement message passing, which are based on NT and UNIX platforms respectively.First, build a queue manager on the NT sideCrtmqm – Q QM_NTStart queue managerStrmqm QM_NTRun the MQ console commandRunmqsc QM_NTCreate a dead letter queueDEFINE QL (NT.DEADQ) DEFPSIST (YES) REPLACEChange the property manager queue, set the dead letter queueALTER QMGR DEADQ (NT.DEADQ)Create process definitionDEFINE PROCESS (P_NT) +APPLTYPE (WINDOWSNT) +APPLICID ("runmqchl -c SDR_NT -m QM_NT")Creating a local transport queueDEFINE QL (QT_NT) USAGE (XMITQ) + DEFPSIST (YES)INITQ (SYSTEM.CHANNEL.INITQ) +PROCESS (P_NT) REPLACECreate a remote queue definition that corresponds to the local queue Q_UNIX on the UNIX machine, and the transport queue is QT_NTDEFINE QREMOTE (QR_NT) +RNAME (Q_UNIX) RQMNAME (QM_UNIX) +XMITQ (QT_NT)Create the sender channel, its transport queue is QT_NT, the remote host address is 10.10.10.2, the listening port is 1414DEFINE CHANNEL (SDR_NT) CHLTYPE (SDR) +CONNAME ("10.10.10.2 (1414) ') XMITQ (QT_NT) REPLACECreating a server connection channelDEFINE CHANNEL (S_NT) CHLTYPE (SVRCONN) REPLACECreating queue manager on the UNIX sideCrtmqm – Q QM_UNIXStart queue managerStrmqm QM_UNIXAdd listenerModify the /etc/services file and add a row:MQSeries 1414/tcp #MQSeries channel listenerModify the /etc/inetd.conf file, add a line (start listener)MQSeries stream TCP nowait MQM /usr/lpp/mqm/bin/amqcrsta amqcrsta – m QM_UNIXRun the following commands to make the modifications work Refresh – s inetdRun the MQ console commandRunmqsc QM_UNIXCreate a dead letter queueDEFINE QL (UNIX.DEADQ) DEFPSIST (YES) REPLACEChange the property manager queue, set the dead letter queueALTER QMGR DEADQ (UNIX.DEADQ)Create the channel, the name must be the same as the remote senderDEFINE CHANNEL (SDR_NT) CHLTYPE (RCVR) REPLACECreate local queueDEFINE QL (Q_UNIX) DEFPSIST (YES) REPLACECreating a server connection channelDEFINE CHANNEL (S_UNIX) CHLTYPE (SVRCONN) REPLACEAfter the above operation after completion of remote connection configuration. Next you need to verify that the configuration is correct.Starting the sender channel at the NT sideRunmqchl - C SDR_NT - M QM_NT or start CHL (SDR_NT)Send message from NT end to UNIX endAmqsput QR_NT QM_NTReceive messages at the UNIX end/usr/mqm/samp/bin/amqsget Q_UNIX QM_UNIXIf you receive the message, explain the configuration successfully.In addition, under NT, when the queue manager is set up, the listener is automatically established, and the listener is automatically started when the queue manager is started. Of course, the listener can also be configured manually.Modify the \winnt\system32\drivers\etc\services file, add a line in the file:MQSeries 1414/tcp #MQSeries channel listenerStart listenerRunmqlsr – t TCP – P 1414 – m QM_NTThe above illustrates how to establish a simple one-way transmission network. Messages are transmitted from the NT end to the UNIX end. The establishment of remote connections from the UNIX end to the NT side is similar to the above, and the establishment of two-way transmission network is the same principle.Three.Configuring JNDICan send and receive messages with JMS, often used JNDI. Because of the way that JNDI is more flexible, the program is relatively simple.After installing the MQSeries Client for Java, find the JMSAdmin.config file in the \java\bin directory. The file is mainly used to explain the storage mode and storage address of Context, corresponding to the two parametersINITIAL_CONTEXT_FACTORY and PROVIDER_URL in the file. The contents of the JMSAdmin.config file are typical:#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactoryINITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContext Factory#INITIAL_CONTEXT_FACTORY=InitialConte xtFactory##PROVIDER_URL=ldap://polaris/o=ibm, c=usPROVIDER_URL=file:/d:/temp#PROVIDER_URL=iiop://localhost/#SECURITY_AUTHENTICATION=noneINITIAL_CONTEXT_FACTORY said JMSAdmin Tool service provider. There are currently three supported values.Com.sun.jndi.ldap.LdapCtxFactory is used for LDAP, and if you use it, you must install a LDAP server.Com.sun.jndi.fscontext.RefFSContextFactory is used for file system context, and it only requires users to provide file paths to store context.InitialContextFactory is specifically provided for WebSphere, and it needs to be used with WebSphere's CosNaming resource library.PROVIDER_URL represents the URL of the session's initial context, and the root of all JNDI operations implemented by JMSAdmin tool. It corresponds to INITIAL_CONTEXT_FACTORY one by one.Ldap://hostname/contextname for LDAPFile:[drive:]/pathname for file system contextIiop://hostname[: port]/[? TargetContext=ctx] is used to access the WebSphere CosNaming name spaceFinally, there is another parameter, SECURITY_AUTHENTICATION, to illustrate whether JNDI passes security credentials to the service providers you use. Only when the use of the LDAP service providers that use this parameter. This parameter has threevalues, none (anonymous authentication), simple (simple authentication) and CRAM-MD5 authentication mechanism. If you do not provide a valid value, the default value is none.After confirming the configuration file, you can start the JMSAdmin console in the \java\bin directory. Can in any directory with the following command to start the console:JMSAdmin - CFG MQ_JAVA_INSTALL_PATH\java\bin\JMSAdmin.configThe MQ_JAVA_INSTALL_PATH MQSeries Client for Java installed in the root directory.If it fails to start, carefully check your environment variable is set correctly. According to my personal experience, in addition to adding com.ibm.mq.jar and com.ibm.mqjms.jar to the environment variables, fscontext.jar and providerutil.jar are added to the environment variables.Enter the JMSAdmin console, you can freely define sub context. The context of the operation, the following command:Display CTXDefine CTX (ctxname)Change CTX (ctxname)Change CTX (=up)Change CTX (=init)Delete CTX (ctxname)Of course, the main task here is not to define sub context, but to define the following objects:MQQueueConnectionFactoryMQTopicConnectionFactoryMQQueueMQTopic(there are other objects, such as MQXAQueueConnectionFactory, which are not commonly used, which are not explained here)You can use a lot of managed object verbs to manipulate the directory name in the space.改变、定义、显示、、和移动复制删除,它们的用法都算比较简单,这里只列举一二以作说明。

MQ维护手册

MQ维护手册

MQ维护手册(V1.0.1.1)北京东方宇业技术有限公司2011年1月1修订记录 (3)2MQ安装说明 (3)2.1linux下MQ安装说明 (3)2.2windows下MQ安装说明 (4)3MQ参数协定 (8)3.1两个通道(实时、非实时通道) (8)3.2一个通道 (8)4通过协定的参数编写MQ配置文件 (9)4.1MQ配置文件示例 (9)4.2MQ配置图解 (11)5MQ维护命令 (13)6windows下监控linux的MQ服务器 (14)7windows界面下MQ常用操作 (18)7.1查看和修改MQ队列管理器CCSID (18)7.2查看和清除MQ接收队列 (20)7.3查看和清除MQ传输队列 (21)7.4通过MQ发送队列发送测试消息 (22)7.5查看MQ接收队列和传输队列中的消息 (22)7.6刷新显示 (24)7.7MQ侦听器启动、停止 (24)7.8查看和修改MQ侦听器端口号 (25)7.9MQ通道启动、停止、复位、解析、ping (26)7.10查看和修改MQ发送通道对方IP和端口号 (27)8MQ日志 (28)9windows下MQ测试程序MqWinTest.exe (28)10MQ常见问题(FAQ) (29)10.1服务器上MQ接口程序起不来 (29)10.2服务器上MQ命令执行不了 (30)10.3查看MQ队列管理器是否正常 (30)10.4接收队列满或有大量消息 (31)10.5传输队列满或有大量消息 (31)10.6MQ通道故障 (32)10.7MQ错误日志文件太多,怎么清理 (33)10.8linux下MQ队列管理器开机自启动 (33)10.9如何区分远程和本地队列管理器 (34)10.10如何查看安装的mq的软件版本 (34)1修订记录2MQ安装说明2.1linux下MQ安装说明一:准备安装介质1. 拷贝mq_linux_setup_mini.tar.gz(该文件是我从安装光盘中弄出来的基本的安装包,版本为6.0,可到\\172.16.131.34\常用软件\MQ下找到)到某个目录,比如/home/ctc然后解压:cd /home/ctctar xzvf mq_linux_setup_mini.tar.gz之后多出一个目录mq二:安装mqsu -到rootcd /home/ctc/mq./mqlicense.sh -accept然后安装各个包:rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpmrpm -ivh MQSeriesServer-6.0.0-0.i386.rpmrpm -ivh MQSeriesClient-6.0.0-0.i386.rpmrpm -ivh MQSeriesSDK-6.0.0-0.i386.rpmrpm -ivh MQSeriesSamples-6.0.0-0.i386.rpm完了就装好了。

MQ常用命令

MQ常用命令

MQ常用命令以下为MQ常用命令:查看发送通道:display channel(xxx)查看队列管理器: dspmq停止队列管理器:endmqm QMEMBFE删除队列管理器:dltmqm QMEMBFE重置发送通道:reset channel(xxxx)启动通道:start chl(xxxx)查看通道: dis chl(xxx)查看所有通道 dis chl(*) 或 dis chs(*)查看所有监听:dis listener(*) 或 dis lsstatu(listentName)查看本地队列:dis qlocal(xxxxx) 查看其中的CURDEPTH(0),若其>0,则说明本地队列堵塞查看死信队列:dis qlocal(DEADQ)查看本地队列:dis qlocal(*)查看本地队列深度: display ql(xxx) curdepth查看远程队列深度:display qr(xxx) curdepth查看ccsid: display qmgr all显示所有远程队列: display qremote(*)显示所有通道: display channel(*)ping通道:ping CHANNEL(xxxx)清空队列内容:clear Qlocal(Qname)(需运行 runmqsc)删除队列:delete qlocal(Qname)更改监听:alter listener(xxxx) TRPTYPE(TCP) PORT(1417) CONTROL(QMGR)停止监听: end LISTENER(xxxx)查看通道当前序列号: dis chs(xxxx) curseqno查看通道所有状态: dis chs(xxxxx) all。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WebShpere MQ入门教程(20):MQ通道的维护
AIXWebsphereHPLinuxOS
6.3.1通道的状态
下图显示了所有可能的通道状态层次结构,在WebSphere MQ for AIX, iSeries, HP-UX, Linux, Solaris, 和Windows systems, 和 WebSphere MQ V5.1 for OS/2 Warp平台,这些状态对服务器连接通道也适用。

图,通道状态
如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。

通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。

下图显示通道状态之间的变化关系。

注意:
1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or
或STOPPING状态时,这将消耗系统资源,并且通道的进程或线程正在运行;因为通道是Active状态。

2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。

6.3.2通道维护命令
下面将详细地介绍通道有关的维护命令。

创建通道
为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。

这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。

可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。

注意:
建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列管理器名和目标队列管理器名。

创建通道的例子
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) +
DESCR(’Sender channel to QM2’) +
CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)
I
修改通道
可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。

删除通道
可以使用 MQSC命令“DELETE CHANNEL”来删除现有通道定义。

查看通道定义
可以使用 MQSC命令“DISPLAY CHANNEL”来查看现有通道定义。

可以说明通道名,通道类型(可选),和其它属性,或查看所有的属性。

查看通道定义的例子
DISPLAY CHANNEL(QM1.TO.QM2) TRPTYPE,CONVERT
DISPLAY CHANNEL(QM1.TO.*) TRPTYPE,CONVERT
DISPLAY CHANNEL(*) TRPTYPE,CONVERT
DISPLAY CHANNEL(QM1.TO.QMR34) ALL
查看通道状态
可以使用 MQSC命令“DISPLAY CHSTATUS”来查看现有通道状态。

显示的通道信息包括:
通道名
通信连接名
通道的In-doubt状态
上一个消息序号
传输队列名
in-doubt 标识
上一个提交消息序号
逻辑工作单元标识
进程ID
线程 ID (仅OS/2 和 Windows 支持)
查看通道状态的例子
DISPLAY CHSTATUS(*) CURRENT
DISPLAY CHSTATUS(QM1.TO.*) SAVED
Ping 通道
使用MQSC 命令“PING CHANNEL”用固定的数据消息来测试和远端的连接.ping 通道并没有使用传输队列和目标队列。

它只是使用了通道定义、通讯链路和网络设置。

只用通道当前状态不是active的情况下才使用它。

这个命令只能在发送通道和服务器通道方使用。

命令返回的结果是“Ping complete”或错误消息。

启动通道
使用MQSC命令“START CHANNEL”启动发送通道、服务器通道和请求器通道。

如果通道是采用触发方式启动,那么不用手工执行启动命令。

当接收通道处在disabled的状态时,也可以使用“START CHANNEL”命令启动它。

在WebSphere MQ for AIX, iSeries, HP-UX, Linux, Solaris, 和Windows systems, 和WebSphere MQ V5.1 for Compaq Tru64 UNIX, 和 OS/2 Warp,如果服务器连接通道处在disabled状态,也可以使用“START CHANNEL”命令启动它。

启动处在disabled状态的接收通道或服务器连接通道,即是复位通道和允许通道被远程启动。

当通道被启动时,发送MCA读通道定义文件并打开传输队列,并远程启动相应的接收或服务器通道。

通道启动成功的条件:
1,本地和远端的通道定义必须存在。

2,传输队列必须存在,并且没有其它通道使用它。

3,本地和远程的MCA必须存在。

4,通讯链路必须可用。

5,本地和远程队列管理器必须是处在运行状态。

6,消息通道一定不在运行。

停止通道
使用MQSC命令“STOP CHANNEL”停止通道。

停止通道的命令只能对除客户连接之外的通道进行操作。

停止通道的方式:
静态停止(Stop quiesce)
STOP CHANNEL(QM1.TO.QM2) MODE(QUIESCE)
这种方式将顺序地停止通道,必须完成当前的消息处理并确保事务的一致性。

注意:
如果通道是空闲的,将不终止接收通道。

强制停止(Stop force)
STOP CHANNEL(QM1.TO.QM2) MODE(FORCE)
这种方式立即停止通道,但不终止通道的线程或进程。

通道并没有完成当前的消息处理,因此可能使通道处在可疑的状态。

通常,推荐系统管理员使用静态停止通道。

终止停止(Stop terminate)
STOP CHANNEL(QM1.TO.QM2) MODE(TERMINATE)
这种方式立即停止通道,并终止通道的线程或进程。

复位通道
可以使用MQSC命令“RESET CHANNEL”改变消息序号。

这个命令可以适用于任何消息通道,但不能用在MQI通道(客户连接或服务器连接)。

通道被启动后,将使用新的消息序号。

如果是对发送通道或服务器通道进行复位,当下次通道重新启动时将通知通道的另一方。

Resolve通道
从发送通道或服务器通道使用MQSC命令“RESOLVE CHANNEL”来处理可疑的消息。

“RESOLVE CHANNEL”命令可以接受 BACKOUT 或 COMMIT参数,Backout将把可疑消息恢复到传输队列,而Commit将丢弃可疑消息。

6.3.3设置MaxChannels和MaxActiveChannels属性
MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。

如果您的并发通道连接个数超过了100,您需要修改这两个参数。

这对于大并发的Client/Server间通讯尤为重要。

例如,在unix平台,修改qm.ini文件如下所示:
CHANNELS:
MaxChannels = 200 ; Maximum number of Channels allowed.
MaxActiveChannels = 150 ; Maximum number of Channels allowed to be ; active at any time.。

相关文档
最新文档