`

WebSphere MQ常用命令及配置

阅读更多

一. 队列管理器 

1.创建队列管理器 

命令:crtmqm <qmgrName> 

示例: crtmqm -ld /var/mqm/log -md /var/mqm/data -lc -lf 16384 -lp 25 -ls 5 -q QMCIS 

参数说明: 

        -ld 日志文件目录

        -md 数据文件目录

        -lc 使用循环日志 

        -lf 日志文件页大小 

        -lp 主日志文件个数

        -ls 辅助日志文件个数 

        -q是指创建缺省的队列管理器

        QMCIS:队列管理器名 

如:

crtmqm –q QmgrName 
crtmqm -ld /data/mqm/QmgrName/log -md /data/mqm/QmgrName/data -lc -lf 10240 -lp 50 -ls 30 -q QmgrName

 

2. 启动队列管理器 

命令:strmqm <qmgrName> 

示例:strmqm QmgrName 

如果是启动默认的队列管理器,可以不带其名字

 

3.进入队列管理器,运行MQ命令 

示例:runmqsc QmgrName 

如果是默认队列管理器,可以不带其名字 

 

4.显示队列管理器的运行状态

命令:dspmq 

命令结果显示示例: 

QMNAME(Test)                                              STATUS(正在运行) 
QMNAME(Test2)                                             STATUS(已正常结束) 

显示指定队列管理器的运行状态

dspmq –m QmgrName

显示队列管理器的所有属性

a.先进入队列管理器

runmqsc QmgrName

b.运行如下命令,显示队列管理器的所有属性,其中,display可简写为dis。

display qmgr

 

5.停止队列管理器 

命令: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 命令。

如:

endmqm QmgrName 受控停止 
endmqm –i QmgrName 立即停止 
endmqm –p QmgrName 强制停止

 

6. 删除队列管理器

命令:dltmqm 

如:

dltmqm QmgrName
 
7.队列管理器权限,禁用认证
ALTER QMGR CHLAUTH (DISABLED)

 

二. 管理本地MQ对象

        使用MQSC命令执行定义或修改队列、通道等操作。MQSC命令可以有以下两种使用方式: 

        a.交互地使用 MQSC 命令:runmqsc [qmgrName] 

        b.从文本文件运行 MQSC 命令:runmqsc [qmgrName] < myprog.in  > myprog.out  

        命名WebSphere MQ 对象的规则: 

        WebSphere MQ认证信息、通道、客户机通道、侦听器、名称列表、进程、队列、服务和存储类对象存在于各自独立的对象名称空间中,因此,每个不同类型的对象都可以有相同的名称。但是,同一个名称空间中的对象不能与任何其它的对象同名。(例如,本地队列不能和模型队列有相同的名称。)WebSphere MQ 中的名称都区分大小写;但是,您应该记住不包含在引号中的小写字符将转换为大写。 

        示例: 

alter qmgr CCSID(819)  #修改字符集 
def ql(DEADQ) defpsist(yes) maxdepth(20000) replace 
alter qmgr deadq(DEADQ) #设置死信队列为DEADQ  

1. 队列 

1). 定义本地队列示例 

def ql(LOCALQ) maxdepth(10000) defpsist(yes) replace 

参数说明:

        ql(LOCALQ): 队列本地名称

        maxdepth:队列上允许的最大消息数;

        defpsist:队列中消息持久性默认值。 

                NO该队列上的消息在队列管理器重新启动时丢失 

                YES该队列上的消息在队列管理器重新启动时保存了下来。 

        maxmsgl:仅对本地队列和模型队列有效,表示队列中可以容纳的最大消息长度,这个属性的调整范围在各个平台上的上限是不一样的。通道在建立的时候会有一个握手过程,双方会交换各自通道定义上的maxmsgl,最后协商出通道使用的最大消息长度,一般会取双方定义中较小的那一个。

        队列管理器maxmsgl,默认值:4M,可以调整范围:32K - 100M;通道maxmsgl,默认值:4M,可以调整范围:0-队列管理器maxmsgl;队列maxmsgl,默认值:4M,可以调整范围:0-队列管理器maxmsgl;使用alter命令,即可对其maxmsgl进行修改。三者之间的关系:队列管理器maxmsgl>=队列maxmsgl。

DEFPRTY:放入队列中的消息的缺省优先级。 该值必须大于等于零(最低的优先级)并小于等于 MAXPRTY 队列管理器属性。 可以使用 DISPLAY QMGR 命令来显示 MAXPRTY,(MAXPRTY 为 9。)

        关于消息在队列中的保存时间:消息在队列的保存时间与三个设置有关:队列defpsist属性、消息Persistence持久性属性和消息Expiry消息到期时间属性,其中队列defpsist属性是在创建队列时设置,消息Persistence和Expiry属性是应用程序往队列放入消息时指定。消息本身的Persistence值优先于队列defpsist值。Expiry指消息到期时间,即经过指定的时间后,消息如果还没被取走,此消息将过期(无效)。消息过期后,可能会自动从队列中删除(取决于不同操作系统的MQ实现)。对于非持久性消息,即使Expiry设为永不过期,重启队列管理器时,消息也将丢失。

        定义持久信队列:DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE 

        设定队列管理器的持久信队列:ALTER QMGR DEADQ(QNAME)

        定义本地队列:DEFINE QL(QNAME) REPLACE 

        定义别名队列:DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)

如:

def ql(LOCALQ) maxdepth(100000) defpsist(yes) maxmsgl(10485760) DEFPRTY(9) replace

 

2). 定义远程队列示例

def qr(REMOTEQ) rname(LOCALQ) rqmname(QmgrName) xmitq(TRANS) defpsist(yes) replace 

参数说明:

        qr(REMOTEQ):队列本地名称,名字可任意取; 

        rname(LOCALQ):远程队列名,必须与远程队列管理器中的本地队列名相同;

        rqmname(QmgrName):远程队列管理器名,必须与远程队列管理器名相同;

        xmitq(TRANS):本地传输队列名称。 

如:

DEFINE QREMOTE (REMOTEQ) RNAME (LOCALQ) RQMNAME (QmgrName) + 
XMITQ(TRANS)

def qr(REMOTEQ) rname(LOCALQ) rqmname(QmgrName) xmitq(TRANS) defpsist(yes) replace

 

3). 定义传输队列

def ql(TRANS) usage(XMITQ) defpsist(YES) maxdepth(50000) trigger trigtype(FIRST) trigdata(01.SENDER) initq(SYSTEM.CHANNEL.INITQ) replace 

参数说明: 

        ql (TRANS):队列本地名称,名字可任意取;

        usage(XMITQ):指定此本地队列为传输队列,参数值固定填“XMITQ”; 

        defpsist:队列中消息持久性默认值。 

                NO该队列上的消息在队列管理器重新启动时丢失 

                YES该队列上的消息在队列管理器重新启动时保存了下来。

        maxdepth:队列上允许的最大消息数;

        trigger:启动触发(相应的,NOTRIGGER为禁用触发)

        trigtype(FIRST) :触发方式,建议值为“FIRST”,即第一条消息触发;

                FIRST:当第一条消息(优先级等于或大于由队列的 TRIGMPRI 属性指定的值)到达队列。

                EVERY:每当一条消息(优先级等于或大于由队列的 TRIGMPRI 属性指定的值)到达队列。

                DEPTH:当消息(优先级等于或大于由队列的TRIGMPRI属性指定的值)的数目等于 TRIGDPTH属性指定的数目。

                NONE:没有写触发消息。

        trigdata(01.SENDER):触发数据,值为传输队列将使用的发送通道名;

        initq(SYSTEM.CHANNEL.INITQ):触发队列,固定填“SYSTEM.CHANNEL.INITQ”。 触发器在此的作用是当传输队列接收到第一条消息时,将触发启动指定的发送通道。 

        PROCESS(string):MQSeries 进程的本地名。这是进程实例的名称,标识了触发事件发生时,队列管理器启动的应用程序。在定义本地队列时,不必定义进程,但是对于触发事件的发生,它必须是可用的。如果队列是传输队列,则进程给出要启动的通道的名称。对于 AIX、HP-UX 、OS/2 Warp、OS/400、Sun Solaris 和 Windows NT 上的传输队列,此参数是可选的;如果没有指定此参数,则从为TRIGDATA参数指定的值中获取参数名。

如:

DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) INITQ(SYSTEM.CHANNEL.INITQ)+ 
PROCESS(PROCESSNAME) REPLACE

def ql(TRANS) usage(xmitq) defpsist(yes) maxdepth(100000) maxmsgl(10485760) DEFPRTY(9) +
               trigger trigtype(every) trigdata(01.SENDER) initq(system.channel.initq) replace

 

4).定义模型队列

DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)

        模型队列不是真的队列,而是一个属性集,在用 MQOPEN API 调用来创建动态队列时可以使用模型队列。

        在定义之后,模型队列就与任何其它队列一样具有一个可用属性的完全集,尽管某些属性是缺省的。

 

5). 查看队列 

dis ql(qname) all/DISPLAY QUEUE (QNAME) ALL:显示队列所有属性

如:

DISPLAY QUEUE(REMOTEQ) ALL

dis ql(qname) curdepth 显示队列当前深度,即当前队列中存放的消息数 

DISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH显示队列最大深度

如:

display queue(LOCALQ) MAXDEPTH CURDEPTH

dis qs(qname) type(queue) all显示与队列相关的状态信息 

dis qs(qname) type(handle) all显示与访问队列的句柄相关的状态信息

 

6).修改队列属性

显示队列的所选属性 

DISPLAY QUEUE (QNAME) DESCR GET PUT 

更改属性 

ALTER QMGR DESCR (‘NEW DESCRIPTION’)
ALTER QLOCAL (QNAME) PUT (DISABLED)
ALTER QALIAS (QNAME) TARGQ (TARGQNAME)

 

7).死信队列

定义死信队列:

def ql(DEADQ) defpsist(yes) maxdepth(200000) maxmsgl(10485760) replace

设定队列管理器的死信队列:

alter qmgr deadq(deadq) maxmsgl(10485760) ccsid(819)

当然,在实际应用中,也可以定义错误消息队列,如下所示:

def ql(ERRMSG) defpsist(yes) maxdepth(200000) maxmsgl(10485760) replace

 

8).操作队列

a.往队列中放消息 

amqsput QName QmgrName 

        如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 

如:

amqsput LOCALQ QmgrName

b.从队列中取出消息 

amqsget QName QmgrName 

        如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字

如:

amqsget LOCALQ QmgrName

c.清除队列中的所有消息

先进入队列管理器,再CLEAR QLOCAL (QNAME)

如:

runmqsc QmgrName
Clear QLOCAL(LOCALQ)

        注:清除队列中的消息时出错时处理,尝试执行命令RESOLVE CHANNEL(channel_name) ACTION( COMMIT )后,再执行clear ql命令。 

 

9). 删除队列 

DELETE QLOCAL (QNAME):删除本地或传输队列

DELETE QREMOTE (QRNAME):删除远程队列

如:

delete ql(LOCALQ)
delete qlocal(TRANS)
delete qremote(REMOTEQ)

 

2.创建进程定义

创建进程定义 

DEFINE PROCESS (PRONAME) + 
DESCR ('STRING') + 
APPLTYPE (WINDOWSNT) + 
APPLICID ('runmqchl -c SDR_TEST -m QM_ TEST')

        其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等

显示进程定义 

DISPLAY PROCESS (PRONAME)

 

3. 通道 

1). 定义接收通道 

def chl(02.SENDER) chltype(rcvr) trptype(tcp) replace 

参数描述: 

        chl(02.SENDER):接收通道名称,必须与远程队列管理器中的发送对列名称相同。推荐的命名规则为 “远程队列管理器名.本地队列管理器名”;

        chltype(rcvr):指定通道为类型,值固定为“rcvr”; 

        trptype(tcp):通讯协议,除非特别指明,一般采用“tcp”协议。

如:

DEFINE CHANNEL (SDR_ TEST) CHLTYPE (RCVR) REPLACE
def chl(02.SENDER) chltype (RCVR) trptype (TCP) replace

 

2). 定义发送通道 

def chl(01.SENDER) chltype(SDR) discint(0) conname('10.2.106.106(1417)') xmitq(TRANS) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(10) maxmsgl(10485760) replace

        chltype(SDR):指定通道为类型,值固定为“SDR”。其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。 

        DISCINT(Disconnect Interval,断开间隔):当传输队列中没有消息要传送时, 发送方通道(SDR)、服务器通道(SVR)将在等待了该参数指定的时间间隔后断开连接,停止通道。该参数以秒为单位,定义新的通道时,如果没有特别指定,该参数会继承系统对象的属性,设为6000秒,约两个小时。亦通道连续两个小时没有消息发送后就会停止。DISCINT参数设定为0,通道永远不会停止。

        conname('10.2.106.106(1417)'):连接名包括对方的IP和端口。

        xmitq(TRANS):本地传输队列名称。

        shortrty:短重试次数。

        shorttmr:短重试间隔。

        longtmr:长重试次数。

        longrty:长重试间隔。

        batchsz:批处理大小。

如:

DEFINE CHANNEL (SDRNAME) CHLTYPE (SDR) + 
CONNAME (‘100.100.100.215(1418)’) XMITQ (QTNAME) REPLACE 

def chl(01.SENDER) chltype(sdr) discint(0) conname('10.2.106.106(1415)') xmitq(TRANS) trptype(tcp) +
shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(10) maxmsgl(10485760) replace

 

3). 定义服务器连接通道 

def chl() chltype() replace 

def chl(DC.SVRCONN) chltype(SVRCONN) TRPTYPE(tcp) mcauser('mqm') DESCR('Server-connection CHANNEL') replace

        chl(DC.SVRCONN):连接接收通道名称,JAVA客户端如连接通过此通道名称连接。

        chltype(SVRCONN):指定通道为类型,值固定为“SVRCONN”。其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。

        mcauser('mqm'):设置MCAUSER为mqm。

        DESCR('Server-connection CHANNEL'):通道描述。

如:

def chl(DC.SVRCONN) chltype(svrconn) TRPTYPE(tcp) mcauser('mqm') +
DESCR('Server-connection CHANNEL') replace

 

4).查看通道定义

DISPLAY CHANNEL(WZ.SENDER)

 

5). 启动通道 

start chl(01.SENDER) 或start channel(01.SENDER)

 

6).查看通道状态 

dis chs(channel name) 

        通道的当前状态,它可以是正在启动、正在绑定、正在初始化、正在运行、正在停止、正在重试、已暂停、已停止、正在请求和通道状态未找到。 

        正常运行时,通道状态为“正在运行”; 

        关闭通道时,通道状态为“已停止”; 

        如果通道状态长时间处于“正在绑定”(binding)、“正在重试”(retrying),则表明通道不正常,需要人工介入。这时可查看队列管理器日志文件,日志文件中一般会提供异常原因。 

        关于“通道状态未找到”:此状态值仅表示当前没有建立到此通道的连接,并不能表示通道是否正常。

 

7). 关闭通道 

stop chl(channel name) 

 

8). 重置通道 

reset chl(channel name) 

 

9). 删除通道 

delete chl(channel name) 

 

三. 监听器 

定义监听器 

def listener(QMC01) TRPTYPE(TCP) PORT(1417) CONTROL(STARTONLY) BACKLOG(0) replace 

参数描述: 

        listener(QMC01):监听器名,名称可任意取;

        TRPTYPE(TCP):通讯协议类型; 

        PORT(1417):服务监听端口 

        CONTROL(string)指定如何启动和停止侦听器:  

        MANUAL 不会自动启动或自动停止侦听器。通过使用 START LISTENER 命令和 STOP 

        LISTENER 命令来控制它。这是缺省值。  

        QMGR 当队列管理器启动和停止时,同时启动和停止被定义的侦听器。  

        STARTONLY 当队列管理器启动时,同时启动侦听器,但当队列管理器停止时,不请求停止侦听器。  

如:

def listener(QMC01) TRPTYPE(TCP) PORT(1414) CONTROL(QMGR)

1). 启动监听器 

start listener(QMC01)

 

2). 关闭监听器  

stop listener(QMC01)  

 

3). 查看监听器状态  

dis lsstatus(LISTENER.TCP) all

如:

dis lsstatus(QMC01) all

 

附一些高级配置的命令:

amqmcert                  配置SSL证书

amqmdain                配置windows上的MQ服务

crtmqcvx                    转换数据

dmpmqaut                转储对象权限管理

dmpmqlog                转储日志管理

dspmq                         显示队列管理器

dspmqaut                  显示打开对象的权限

dmpmqcap               显示处理程序容量和处理程序数

dspmqcsv                 显示命令服务器状态

dspmqfls                   显示文件名

dspmqtrc                   跟踪MQ输出(HP-UNIX LINUX Solaris)

dspmqrtn                   显示事务的详细信息

endmqcsv                 停止队列管理器上的命令服务器

strmqcsv                    启动队列管理器上的命令服务器

endmqtrc                   停止跟踪

rcdmqimg                  向日志写对象的映像

rcmqobj                      根据日志中的映像重新创建一个对象

rsvmqtrn                     提交或逆序恢复事务

 

参考文章:http://wenku.baidu.com/link?url=mOzKvLMyzTCuFhh3YB26bcCk8BHqZHxBJVmftJxCP9gAIgT5MHoWTCpfkEDWxUn_Cl3JgFOAiTxDkM_3NtldXTbEg2d6WX2Dyi8awqf7syK

http://wenku.baidu.com/link?url=dlqlHclnZktikLnXERrFqz4-tgNr6oqUPxh-FXSr0MPaLbhm1opoZnhiJxRisSXtQw9JnXR6zhVkoInwfw3cUxaUOI9qQGQVnobAd4O48MW

http://www.xinhc.com/document/manual/mqm/csqzzj/csqzzj12.htm

分享到:
评论

相关推荐

    websphere mq常用命令

    websphere mq常用命令 websphere mq常用命令

    WebSphere MQ常用命令

    WebSphere MQ常用命令,非常详细的命令与说明

    websphere mq 常用命令与配置

    websphere mq 的常用命令与配置的小结,是初学和管理人员的手头实战参考资料。

    Websphere MQ常用命令

    这是我在运维工作中常用的MQ命令,也有一部分从网上查到的,希望对大家有所帮助!

    websphere常用命令和集群步骤

    websphere在linux上操作需要的命令。还有集群的命令。

    Websphere MQ入门教程

    4.2.2WebSphere MQ 脚本(MQSC)命令 52 4.2.3PCF 命令 54 4.3 WebSphere MQ 配置 56 4.3.1在 Windows 系统上更改配置信息 56 4.3.2 在 UNIX 系统上更改配置信息 57 4.4 WebSphere MQ 安全性 60 管理 WebSphere MQ ...

    WebSphere MQ自学笔记

    1.7 WebSphere MQ 配置向导 3 1.8 安装验证 3 1.9测试对象 5 2、WebSphere MQ 概述 6 2.1 MQ基本操作 7 2.1.1 建立侦听端口 7 2.1.2建立队列管理器间的消息通道 7 2.1.3建立远程队列实现消息的传送 8 2.2 MQ基本命令...

    IBM WebSphere MQ 安装包

    IBM WebSphere MQ是IBM业界领先面向消息的中间件产品,也是MQ系列产品的基础和核心,它使不同的应用程序能够以企业级的性能,在广泛的平台上安全而可靠地通讯。

    Websphere MQ入门教程7

    第二部分 WebSphere MQ系统管理,分为六章,分别介绍安装、配置、管理、控制命令和问题确定;第三部分 WebSphere MQ应用开发,由五章组成,介绍程序设计、编写和例子程序。 本书是WebSphere MQ产品的实用指南,...

    WebSphere MQ 开发培训

    WebSphere MQ 开发培训 IBM软件部 软件部 WebSphere MQ 议程 WebSphere MQ 概览 WebSphere MQ 安装配置 WebSphere MQ 应用开发 WebSphere MQ 参考

    IBM websphere MQ 命令大全

    IBM websphere MQ 命令大全,在windows、linux环境下面,操作mq 的主要命令

    非常全面的WebsphereMQ的PDF学习资料

    Websphere MQ Programming Guide,Websphere MQ Using C++,WebSphere MQ Using Java,WEBSPHERE MQ6.0 JAVA编程,WebSphere MQ基础教程,IBM WEBSPHERE MQ教程,精通WebSphere MQ,WebSphere MQ开发快速入门,IBM ...

    WebSphere MQ配置.rar

    WebSphere MQ配置.rar WebSphere MQ配置.rar WebSphere MQ配置.rar

    WebSphereMQ集群步骤及命令全干货

    WebSphereMQ集群步骤及命令全干货

    WebSphereMQ_V7.5.0.2_for_Windows(4-1)

    WebSphere® MQ (也称MQSeries)以一致的、可靠的和易于管理的方式来连接应用程序,并为跨部门、企业范围的集成提供了可靠的基础。通过为重要的消息和事务提供可靠的、一次且仅一次的传递,Websphere MQ 可以处理...

    IBM Websphere mq安装

    IBM Websphere mq安装IBM Websphere mq安装

    WebSphereMQ命令全集.doc

    WebSphereMQ命令全集

    WebSphere MQ

    WebSphere MQ WebSphere MQWebSphere MQ WebSphere MQ

    IBM Websphere MQ 教程之备份与恢复

    IBM Websphere MQ 教程之备份与恢复

    WebSphereMQ_V7.5.0.2_for_Windows.part2.rar

    WebSphere® MQ (也称MQSeries)以一致的、可靠的和易于管理的方式来连接应用程序,并为跨部门、企业范围的集成提供了可靠的基础。通过为重要的消息和事务提供可靠的、一次且仅一次的传递,Websphere MQ 可以处理...

Global site tag (gtag.js) - Google Analytics