文档库 最新最全的文档下载
当前位置:文档库 › MQ常用命令

MQ常用命令

MQ常用命令
MQ常用命令

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

启动队列管理器runmqsc 队列管理器——name

2.重置通道序号reset chl(通道name) seqnum(1)

3.一段时间没有消息,通道会变为不活动状态,有消息时通道会变为running状态

4.查看队列里面是否有消息dis ql('队列名称') curdepth

5.日志目录:MQ安装目录/qmgrs/队列管理器名/errors/AMQERR01.LOG

6.修改ccsid alter qmgr ccsid(“XXX”)

一、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 q(*) all 同上

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文件用于保存历史错误消息

2.2.2 触发类型

l EVERY:

应用队列中每接受到一个消息时,都将产生触发消息。如果应用程序仅仅处理一个消息就结束,可采用这种触发类型。

l FIRST:

应用队列中消息从0变为1时会触发事件。如果当队列中的一个消息到达时启动程序,直到处理完所有消息才结束,则采用这种触发类型。

l DEPTH:

应用队列中消息数目和TriggerDepth(引起触发事件发生时,队列中的消息数目)属性值相同时,才会产生触发事件。当一系列请求的回复都收到时,才启动应用程序,则可以采用这

种方法。

需要注意的时,当DEPTH属性值为0的时候,实际上就形成了同步通信。另外,当采用Depth 触发时,产生触发消息以后,队列将被修改为非触发方式,如果需要再次触发,需要重新设置成允许触发。

一般而言,在实际应用中,如果通道设置成触发方式,触发类型往往设置成为FIRST和DEPTH。

2.2.3 触发器工作流程

1) 本地或远程应用程序A,往应用队列(Application Queue)中PUT了一条消息。

2) 如果队列的触发类型设置为first,当队列原来深度为0时(队列为空),这时PUT 一条消息到队列中将形成触发事件,同时产生一条触发消息,触发消息中将包含进程定义中的信息,因为进程定义中包含启动程序B所需的信息,所以触发消息中也包含了启动程序B 所需的信息。

3) 队列管理器创建触发消息,并把它PUT入与应用队列相关的启动队列Initiation Queue。

4) 触发监控器(Trigger Monitor)从启动队列(Initiation Queue)中GET触发消息。

5) 触发监控器处理触发消息,发出启动应用程序B的命令。

6) 应用程序B打开应用队列(Application Queue),并处理队列中的消息。

注:如果是通道触发将可以不需要创建进程对象(process object),只是在传输队列的trigdata中设置需要启动的通道名。

2.2.4 配置消息通道触发

配置消息通道触发启动,需要使用到的对象有传输队列,通道启动队列,发送通道,通道启动器。我们本配置案例中传输队列名是QMB,通道启动队列采用SYSTEM.CHANNEL.INITQ,发送通道名QMA.QMB,通道启动器为runmqchi,该进程在队列管理器启动的时候自动启动。下面我们通过举例来演示配置实现消息通道触发启动。

l 首先我们来查看一下传输队列QMB都有哪些属性,显示如下清单所示,其中清单中的标注红色的属性和通道触发配置相关。

dis ql(QMB)

1 : dis ql(QMB)

AMQ8409: 显示队列细节。

QUEUE(QMB) TYPE(QLOCAL)

ACCTQ(QMGR) ALTDATE(2009-02-06)

ALTTIME(11.41.44) BOQNAME( )

BOTHRESH(0) CLUSNL( )

CLUSTER( ) CLWLPRTY(0)

CLWLRANK(0) CLWLUSEQ(QMGR)

CRDATE(2008-12-05) CRTIME(10.37.53)

CURDEPTH(0) DEFBIND(OPEN)

DEFPRTY(0) DEFPSIST(NO)

DEFSOPT(SHARED) DEFTYPE(PREDEFINED)

DESCR( ) DISTL(YES)

GET(ENABLED) HARDENBO

INITQ( ) IPPROCS(1)

MAXDEPTH(5000) MAXMSGL(4194304)

MONQ(QMGR) MSGDLVSQ(PRIORITY)

TRIGGER NPMCLASS(NORMAL)

OPPROCS(1) PROCESS( )

PUT(ENABLED) QDEPTHHI(80)

QDEPTHLO(20) QDPHIEV(DISABLED)

QDPLOEV(DISABLED) QDPMAXEV(ENABLED)

QSVCIEV(NONE) QSVCINT(999999999)

RETINTVL(999999999) SCOPE(QMGR)

SHARE STATQ(QMGR)

TRIGDATA( ) TRIGDPTH(1)

TRIGMPRI(0) TRIGTYPE(FIRST)

USAGE(XMITQ)

l 设置传输队列为触发模式TRIGGER。

l 设置触发类型为every/first/depth其中的一种,例如TRIGTYPE(FIRST)。如果设置为TRIGTYPE(DEPTH),则还需要设置触发深度属性,例如TRIGDPTH(4),表示当队列中的消息数由3个增加到4个的时候才能形成触发事件,但需要注意的是深度触发事件只能产生一次事情,下次传输队列的消息数由3个增加到4个时候不会产生触发事件,所以在消息通道触发中,我们推荐采用TRIGTYPE(FIRST)。

l 在通道触发中,推荐使用SYSTEM.CHANNEL.INITQ队列作为初始队列,该队列为MQ专用的通道启动队列, 不需要手工启动其触发监视器,设置传输队列INITQ(SYSTEM.CHANNEL.INITQ )属性。

l 通过TRIGDATA属性设置需要触发的通道名,例如TRIGDATA(QMA.QMB )。

l 对于TRIGMPRI属性的含义是基于消息优先级触发,也即某类优先级的消息满足的触发条件才产生触发事件,我们在消息通道触发中不推荐使用。

完整MQSC命令参考如下:

ALTER QL(QMB) +

TRIGGER +

TRIGTYPE(FIRST) +

INITQ(SYSTEM.CHANNEL.INITQ) +

TRIGDATA(QMA.QMB)

l 通道的触发监控器我们采用系统的自带的runmqchi程序,缺省队列管理器启动的时候,runmqchi进程会自动启动。

7.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.*) SA VED

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.

MQ基础知识及操作指南

MQ通讯机制 一.MQ基本操作 MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下: 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字

停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QMgrName 停止侦听 endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME) REPLACE 定义别名队列

MQ通道的维护及常用命令

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

附录WebSphere MQ 命令一览表 队列管理器(Queue Manager) crtmqm 创建队列管理器(Create Queue Manager) [-c Text] 描述,最多64 个字符 [-d DefaultTransmissionQueue] 缺省传输队列 [-h MaximumHandleLimit] 一个应用程序可以MQOPEN 的最大句柄数min=1,max=999,999,999,default=256 [-lc | -ll] Log 类型 -lc Circular Logging,环型日志 -ll Linear Logging,线型日志 [-ld LogPath] Log 文件的目录,mqm 用户必须有访问权限,缺省为:Windows X:\Program Files\IBM\WebSphere MQ\log\qmgr UNIX /var/mqm/log [-lf LogFileSize] Log 文件大小,4KB 的倍数. Windows min=32,max=16,384,default=256 (1 MB) UNIX min=64,max=16,384,default=1024 (4 MB) [-lp LogPrimaryFiles] 主Log 文件数量,min=2,max=62,default=3 [-ls LogSecondaryFiles] 备用Log 文件数量,min=1,max=61,default=2 注意:LogPrimaryFiles + LogSecondaryFiles <= 63 [-q] 缺省队列管理器 [-g ApplicationGroup] 应用组。Application Group 中的用户可以运行MQI 应用,更新IPCC 资源,改变Queue Manager 目录中的内容。 仅对WMQ for AIX,Solaris,HPUX,Linux 有效。会反 映到qm.ini 中。mqm 必须是Application Group 中的 用户。缺省-g all [-t IntervalValue] min=0,max=999,999,999,default=999,999,999,单位: 毫秒。触发间隔(Trigger Time Interval) [-u DeadLetterQueue] 死信队列(Dead Letter Queue)) [-x MaximumUncommittedMessages] 最大的未提交的消息数量 min=1,max=999,999,999,default=10,000 在一个交易中的消息最大数量,为MQPUT + MQGET + LUW 中 产生的Trigger Message 数量之和 [-z] 抑止出错信息 QMgrName 队列管理器名 例: crtmqm -t 5000 -u SYSTEM.DEAD.LETTER.QUEUE -ll QM dltmqm 删除队列管理器(Delete Queue Manager) [-z] 抑止出错信息 QMgrName 队列管理器名 例: dltmqm -z QM strmqm 启动队列管理器(Start Queue Manager) [-c] 启动队列管理器,覆盖重建所有的系统对象,再停止该队列管理器

MQ通道的维护及常用命令

M Q通道的维护及常用命 令 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

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”来修改现有通道定义,但是通道名和通道类型不能修改。 删除通道 可以使用 MQSC命令“DELETE CHANNEL”来删除现有通道定义。 查看通道定义 可以使用 MQSC命令“DISPLAY CHANNEL”来查看现有通道定义。可以说明通道名,通道类型(可选),和其它属性,或查看所有的属性。

IBM mq 常用命令

IBM MQ常用命令 常用命令 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QmgrName 停止侦听 endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME)DEFPSIST(YES)REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME)REPLACE 定义别名队列 DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)

远程队列定义 DEFINE QREMOTE(QRNAME)+ RNAME(AAA)RQMNAME(QMGRNAME)+ XMITQ(QTNAME) 定义模型队列 DEFINE QMODEL(QNAME)DEFTYPE(TEMPDYN) 定义本地传输队列 DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) + INITQ(SYSTEM.CHANNEL.INITQ)+ PROCESS(PROCESSNAME) REPLACE 创建进程定义 DEFINE PROCESS(PRONAME)+ DESCR(‘STRING’)+ APPLTYPE(WINDOWSNT)+ APPLICID(’runmqchl -c SDR_TEST -m QM_ TEST’) 其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等 创建发送方通道 DEFINE CHANNEL(SDRNAME)CHLTYPE(SDR)+ CONNAME(‘100.100.100.215(1418)’)XMITQ(QTNAME)REPLACE 其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。 创建接收方通道 DEFINE CHANNEL(SDR_ TEST)CHLTYPE(RCVR)REPLACE 创建服务器连接通道 DEFINE CHANNEL(SVRCONNNAME)CHLTYPE(SVRCONN)REPLACE 显示队列的所有属性 DISPLAY QUEUE(QNAME)[ALL] 显示队列的所选属性 DISPLAY QUEUE(QNAME)DESCR GET PUT DISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH 显示队列管理器的所有属性 DISPLAY QMGR [ALL] 显示进程定义 DISPLAY PROCESS(PRONAME) 更改属性 ALTER QMGR DESCR(‘NEW DESCRIPTION’)

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”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。

MQ常用命令

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 启动队列管理器runmqsc 队列管理器——name 2.重置通道序号reset chl(通道name) seqnum(1) 3.一段时间没有消息,通道会变为不活动状态,有消息时通道会变为running状态 4.查看队列里面是否有消息dis ql('队列名称') curdepth 5.日志目录:MQ安装目录/qmgrs/队列管理器名/errors/AMQERR01.LOG 6.修改ccsid alter qmgr ccsid(“XXX”) 一、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. 启动命令行QMEMBFE是QM名字 runmqsc QMEMBFE (进入MQ的命令行) 显示队列DISPLAY QUEUE(*) 显示通道DISPLAY CHANNEL(*) 显示侦听器DISPLAY LISTENER(*) SDR发送方通道,RCVR接收方通道 2. 创建MQM crtmqm -lf 16384 -lp 10 -ls 10 QMEMBFE 3. 启动MQM strmqm QMEMBFE 3.1删除MQM Dltmqm QMEMBFE Start chl(通道名) 启动通道 4. 运行脚本 runmqsc QMEMBFE < mbfemq.sc 5. 确定测试商业银行所对应接入点的通道状态是否为running #runmqsc QMEMBFE dis 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) CURRENT RQMNAME(QME2900) STATUS(RUNNING) SUBSTATE(RECEIVE) XMITQ( ) 172.26.190.4 1418 1. 创建队列管理器 crtmqm -q QMA (-q表示QMA为默认队列管理器)

MQ常用命令

物理定义 ################################################## --查看MQ版本-- dspmqver --查看队列状态-- dspmq --创建队列管理器-- crtmqm -q ECIS_QM --删除队列管理器-- dltmqm ECIS_QM --启动队列管理器-- strmqm ECIS_QM --关闭队列管理器-- endmqm -i ECIS_QM 立即停止 endmqm -p ECIS_QM 强制停止 --运行队列管理器-- runmqsc ECIS_QM --定义监听器-- DEFINE LISTENER(LSR_4_ECIS_QM) TRPTYPE(TCP) PORT(1616) CONTROL(QMGR) REPLACE START LISTENER(LSR_4_ECIS_QM) --定义通道-- DEFINE CHANNEL(ECIS.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm') REPLACE --启动通道-- runmqchl –c ChlName –m ECIS_QM --启动侦听-- runmqlsr –t TCP –p 1616 –m ECIS_QM endmqlsr -m ECIS_QM --定义队列-- DEFINE QL(Q_SVC2ADP_4_TELNET) REPLACE DEFINE QL(Q_SVC2ADP_4_JDBC) REPLACE DEFINE QL(Q_SVC2ADP_4_HTTP) REPLACE DEFINE QL(Q_SVC2ADP_4_SOCKET) REPLACE --删除队列--

ibm mq常用命令

创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器dltmqm QmgrName 启动队列管理器strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字启动通道 runmqchl –c ChlName –m QmgrName 启动侦听runmqlsr –t TYPE –p PORT –m QmgrName 停止侦听endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME) REPLACE 定义别名队列 DEFINE QALIAS(QALIASNAME) TARGQ(QNAME) 远程队列定义 DEFINE QREMOTE(QRNAME) + RNAME(AAA) RQMNAME(QMGRNAME) + XMITQ(QTNAME) 定义模型队列 DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN) 定义本地传输队列 DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) + INITQ(SYSTEM.CHANNEL.INITQ)+ PROCESS(PROCESSNAME) REPLACE 创建进程定义

IBM MQ常用命令

1. 队列管理器 1.1. 创建队列管理器 命令:crtmqm 示例: 1.2. 启动队列管理器 命令:strmqm 停止队列管理器 命令:endmqm -c|-w|-i|-p 参数说明: -c 受控关闭(或停顿关闭)。这是缺省值。 队列管理器停止,但仅当所有应用程序已断开连接后才停止。当前正在处理的任何MQI 调用已完成。 立即将控制权返回给您,并且不通知您队列管理器是何时停止的。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。 -w 等待关闭。 此类型的关闭等效于受控关闭(除了仅当队列管理器已停止后才将控制权返回给您之外)。当执行关闭时,您将接收到消息:等待队列管理器qmName 结束。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。 -i 立即关闭。队列管理器在完成所有当前正在处理的MQI 调用后停止。任何在该命令发出后发出的MQI 请求都将失败。当队列管理器再次启动时,任何未完成的工作单元将回滚。 队列管理器结束后返回控制权。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以FORCE 方式发出的STOP CHANNEL 命令。 -p 抢先关闭。 仅在意外情况下使用此类型的关闭。例如,当队列管理器在常规 endmqm 命令下未停止。 队列管理器可以停止而不等待应用程序断开连接或MQI 调用完成。这可能会产生WebSphere MQ 应用程序的不可预测的结果。关闭方式设置为立即关闭。如果队列管理器稍后未停止,关闭方式将升级,且终止所有剩余的的队列管理器进程。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以TERMINATE 方式发出的 STOP CHANNEL 命令。

常用MQ命令

常用的MQ命令 最近在配置MQ,记下了一些常用的MQ命令,如下: 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QMgrName 停止侦听

endmqlsr -m QmgrName 下面是在MQ环境中可以执行的MQ命令(即在runmqsc环境下可以敲的命令) 定义持久信队列 DEFINE QLOCAL(QNAME)DEFPSIST(YES)REPLACE 设定队列管理器的持久信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME)REPLACE 定义别名队列 DEFINE QALIAS(QALIASNAME) TARGQ(QNAME) 远程队列定义 DEFINE QREMOTE(QRNAME)+ RNAME(AAA)RQMNAME(QMGRNAME)+ XMITQ(QTNAME) 定义模型队列 DEFINE QMODEL(QNAME)DEFTYPE(TEMPDYN) 定义本地传输队列 DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) + INITQ(SYSTEM.CHANNEL.INITQ)+ PROCESS(PROCESSNAME) REPLACE 创建进程定义 DEFINE PROCESS(PRONAME)+ DESCR(‘STRING’)+ APPLTYPE(WINDOWSNT)+ APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’) 其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等 创建发送方通道 DEFINE CHANNEL(SDRNAME)CHLTYPE(SDR)+ CONNAME(‘100.100.100.215(1418)’)XMITQ(QTNAME)REPLACE 其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。 创建接收方通道 DEFINE CHANNEL(SDR_ TEST)CHLTYPE(RCVR)REPLACE

MQ操作手册

交通银行理财产品销售平台 MQ 操作手册

文档修改历史
版本号 1.0 1.1 1.2 修改日期 2008-9-15 2008-10-13 2008-10-14 编写 范德强 范德强 范德强 评审 批准 修改内容 初始版本 添加生成环境部署说明(集群部分) 添加集群部分 脚本说明部分

1.MQ 配置简介
基本规则如下: 1) 2) 队列管理器与 GSP 的一个 QM 建立双向通道,即建立一个发送通道,一个接收通道 对于单纯的服务请求方,每个系统建立:n 个远程队列用于发送报文到 GSP,一个 本地队列用于接收 GSP 返回的报文。 表示该请求方需要请求的服务个数),BDP (n 系统作为服务请求方,请求核心,即建立一个远程队列,一个本地队列. 3) 对于单纯服务提供方,每个系统建立 2m 个队列:m 个远程队列用于发送报文到 GSP, 个本地队列用于接收 GSP 返回的报文。 表示服务方提供的服务数) m (m BDP 系统作为服务提供方,对外提供三个服务,即建立三个本地队列,三个远程队列 依照上面规则,配置如下: 1. 一个队列管理器:MQBDP001。 2. 一个传输队列:MQGSPGW1。 3. 服务提供方三个本地队列 LOCALQ.GSP.BOCOMFUNDACCOUNT.REQ LOCALQ.GSP.BOCOMFUNDPRODUCT.REQ LOCALQ.GSP.BOCOMFUNDRECONCILIATION.REQ。 4. 服务提供方三个远程队列: REMOTEQ.GSP.BOCOMFUNDACCOUNT.RSP REMOTEQ.GSP.BOCOMFUNDPRODUCT.RSP REMOTEQ.GSP.BOCOMFUNDRECONCILIATION.RSP 5. 服务请求方一个本地队列 LOCALQ.GSP.RSP 6. 服务请求方一个远程队列 REMOTEQ.GSP.CBKADAPTER.REQ 7. 一个死信队列:MQBDP001.DEAD.QUEUE。 8. 一个接收通道:MQGSPGW1. MQBDP001。 9. 一个发送通道:MQBDP001.MQGSPGW1
注:确认小型机的字库 Zh_GB 和 GB18030 是否安装。export 是否是 LANG=Zh_CN(注 意大小写,不是 zh_CN)。如果不是,请修改服务用户的.profile 的 LANG=Zh_CN。

MQ测试常用命令

测试1 本地通道测试 1、使用mqadmin用户登录 2、执行crtmqm -q TEST_QM,建立测试用的消息管理器。 3、执行strmqm TEST_QM,启动测试用的消息管理器。 4、执行runmqsc TEST_QM 5、输入define ql(DATA),回车,建立本地队列DATA 6、输入end回车 至此,本地测试通道搭建完成,下面进行测试。 1、执行amqsput DATA TEST_QM 2、随便输入一些内容,一行为一条消息,可输入多条。 3、输入完毕连续按两次回车退出。 4、执行amqsget DATA TEST_QM,看看能否收到刚才输入的消息,如果能收到,证明MQ 本地通道是正常的。如果收不到,则MQ安装有问题。 测试2 远程通道测试 如果测试1通过,继续进行远程通道测试。 1、执行runmqsc TEST_QM 2、输入define chl(TO.TEST) chltype(RCVR) trptype(tcp),创建接收方通道。 3、输入end并回车。 4、执行crtmqm TEST_RQM,建立模拟的远程通道。 5、执行strmqm TEST_RQM 6、执行runmqsc TEST_RQM 7、输入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、输入end 11、执行runmqlsr -t tcp -m TEST_QM -p 1111,启动接收方的监听。 12、新打开一个telnet会话,用mqadmin登录,执行runmqsc TEST_RQM 13、输入start chl(TO.TEST) 14、输入end 至此,模拟的远程测试通道建立完成,以下进行测试。 1、执行amqsput REMOTE.DATA TEST_RQM 2、随便输入一些内容,一行为一条消息,可输入多条。 3、输入完毕连续按两次回车退出。 4、执行amqsget DATA TEST_QM,看看能否收到刚才输入的消息,如果能收到,证明MQ 本地通道是正常的。如果收不到,则MQ安装有问题。

MQ常用命令与实操练习

一、队列管理器常用操作命令 1、通过输入以下命令来创建名为 QM_APPLE 的缺省队列管理器: crtmqm -q QM_APPLE 此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。 ***启动队列管理器: 通过输入以下命令来启动此队列管理器(因为新创建的队列管理器还没有启动): strmqm QmgrName 此时会显示一条消息,告诉您何时启动了该队列管理器。QmgrName 为需要启动的队列管理器名称。 注:如果启动指定的队列管理器则用strmqm QM_APPLE,如果是启动默认的队列管理器,可以不带其名字 -q是指创建缺省的队列管理器 注:删除队列管理器:dltmqm QM_APPLE **停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 **显示队列管理器 dspmq –m QmgrName 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 注:dspmq 则是显示所有的队列管理器

二、队列管理器对象常用操作命令(MQSC) MQSC命令是用来管理队列管理器对象,包括队列管理器本身、通道、队列和进程定义。可以使用runmqsc QmgrName向队列管理器QmgrName发出 MQSC 命令。命令的输入有两种方式,一种是交互式命令,另一种是从ASCII 文本文件中重定向输入命令。在这两种方式中,命令的格式是相同的。 运行MQSC命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 输入end命令来停止 MQSC: ***队列管理***** 1:创建本地队列: define qlocal (Q1) replace 注:定义持久性队列: DEFINE QLOCAL(QNAME) DEFPSIST (YES) REPLACE 如果已经定义好了队列,但需要修改该队列的属性,可以使用later命令操作。如,现在将已经定义好的队列Q1定义为持久性队列可以做如下操作: ALTER QLOCAL (Q1) DEFPSIST (YES) 可使用alter ?察看可修改对象,再用 alter 对象名?察看可修改对象的参数。 2:往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 比如:amqsput Q1 QM_APPLE 3:从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 注:在运行该命令时,不要先运行 runmqsc等。。而是在普通的命令窗口,启动MS-DOS窗口,进入到c:\Program Files\IBM\WebSphere MQ\bin目录下,需要根据实际情况填写安装目录。 4:清除队列中的所有消息

MQ命令

MQ命令.txt两个男人追一个女人用情浅的会先放弃。两个女人追一个男人用情深的会先放弃。╰︶ ̄—你的话,我连标点符号都不信男女授受不亲,中国哪来13亿人口。================================================== ---------队列管理器------------------------------- ================================================== 1、通过输入以下命令来创建名为 QM_APPLE 的缺省队列管理器: crtmqm -q QM_APPLE 此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。 ***启动队列管理器: 通过输入以下命令来启动此队列管理器(因为新创建的队列管理器还没有启动): strmqm 此时会显示一条消息,告诉您何时启动了该队列管理器。 注:如果启动指定的队列管理器则用strmqm QM_APPLE,如果是启动默认的队列管理器,可以不带其名字 -q是指创建缺省的队列管理器 注:删除队列管理器:dltmqm QM_APPLE **停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 **显示队列管理器 dspmq –m QmgrName 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 注:dspmq 则是显示所有的队列管理器 ================================================== ---------MQ命令------------------------------- ================================================== 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 输入end命令来停止 MQSC:

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/errors MQ队列管理器目录(缺省情况下) /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 显示结果

IBM MQ使用指南

IBM MQSeries使用指南 深圳市滨河大道5022号联合广场A座2408 赖寿生 02-1-17 下午 01:12:56 随着计算机网络和分布式应用的不断发展,远程消息传递越来越成为应用系统中不可缺少的组成部分。商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同时也减少了系统的开发周期。目前应用最多的消息中间件产品为IBM MQSeries。本文就针对MQ的基本操作与配置进行详细的阐述,希望对读者有所帮助。 一.MQ基本操作 MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下: 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止

显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QMgrName 停止侦听 endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME)

相关文档