当前位置:文档之家› IBM MQ常用命令

IBM MQ常用命令

IBM MQ常用命令
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 命令。

1.3. 删除队列管理器

命令:dltmqm

1.4. 显示队列管理器启动状态

命令:dspmq

2. 管理本地MQ对象

使用MQSC 命令执行本地管理任务

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

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

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

命名 WebSphere MQ 对象的规则:

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

显示或修改队列管理器属性

display qmgr (display可简写为dis)

示例:

2.1. 队列

2.1.1. 定义本地队列示例

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

参数说明:

●ql(FROMCCPC_1):队列本地名称

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

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

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

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

关于消息在队列中的保存时间:消息在队列的保存时间与三个设置有关:队列defpsist属性、消息Persistence持久性属性和消息Expiry消息到期时间属性,其中队列defpsist属性是在创建队列时设置,消息Persistence和Expiry属性是应用程序往队列放入消息时指定。消息本身的Persistence值优先于队列defpsist值。Expiry指消息到期时间,即经过指定的时

间后,消息如果还没被取走,此消息将过期(无效)。消息过期后,可能会自动从队列中删除(取决于不同操作系统的MQ实现)。对于非持久性消息,即使Expiry设为永不过期,重启队列管理器时,消息也将丢失。

2.1.2. 定义远程队列示例

def qr(TOCCPC_1) rname(5819_1) rqmname(QMC5819) xmitq(QMGF) defpsist(yes) replace

参数说明:

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

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

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

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

2.1.

3. 定义传输队列示例

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

参数说明:

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

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

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

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

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

●initq(SYSTEM.CHANNEL.INITQ):触发队列,固定填“SYSTEM.CHANNEL.INITQ”。

触发器在此的作用是当传输队列接收到第一条消息时,将触发启动指定的发送通道。

2.1.4. 查看队列

dis ql(qname) all 显示队列所有属性

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

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

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

2.1.5. 删除队列

delete ql(qname)

2.1.6. 删除队列中的消息

clear ql(qname)

注:删除队列中的消息时出错时处理

尝试执行命令RESOLVE CHANNEL(channel_name) ACTION( COMMIT )后,再执行clear ql 命令。

2.2. 通道

2.2.1. 定义接收通道

def chl(999581000107.5819) chltype(rcvr) trptype(tcp) replace

参数描述:

●chl(999581000107.5819):接收通道名称,必须与远程队列管理器中的发送对列名称相

同。推荐的命名规则为“远程队列管理器名.本地队列管理器名”;

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

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

2.2.2. 定义发送通道

def chl(5819.999581000107) chltype(SDR) discint(0) conname('10.2.106.106(1417)') xmitq(QMCIS) trptype(tcp) replace

2.2.

3. 定义服务器连接通道

def chl() chltype() replace

2.2.4. 删除通道

Delete chl(channel name)

2.2.5. 查看通道状态

dis chs(channel name)

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

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

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

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

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

2.2.6. 启动通道

Start chl(channel name)

2.2.7. 关闭通道

Stop chl(channel name)

2.2.8. 重置通道

reset chl(channel name)

2.3. 监听器

定义监听器

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

参数描述:

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

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

●PORT(1417):服务监听端口

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

MANUAL 不会自动启动或自动停止侦听器。通过使用START LISTENER 命令和STOP LISTENER 命令来控制它。这是缺省值。

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

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

2.3.1. 启动监听器

start listener(QMC5819)

2.3.2. 关闭监听器

stop listener(QMC5819)

2.3.3. 查看监听器状态

dis lsstatus(LISTENER.TCP) all (QMC5819) all

3. WebSphere MQ 配置文件mqs.ini

WebSphere MQ 配置文件 mqs.ini 包含和节点上所有队列管理器都相关的信息。它在安装期间自动创建。

WebSphere MQ for UNIX 系统的 mqs.ini 文件在 /var/mqm 目录中。它包含:?队列管理器的名称

?缺省队列管理器的名称

?和每个文件关联的文件位置

图 9显示 WebSphere MQ 配置文件的示例:

图 9. UNIX(R)系统的 WebSphere MQ 配置文件示例

#******************************************************************** ***#

#* Module Name: mqs.ini *#

#* Type : WebSphere MQ Machine-wide Configuration File *#

#* Function : Define WebSphere MQ resources for an entire machine *# #******************************************************************** ***#

#* Notes : *#

#* 1) This is the installation time default configuration *# #* *#

#******************************************************************** ***#

AllQueueManagers:

#******************************************************************** ***#

#* The path to the qmgrs directory, below which queue manager data *# #* is stored *#

#******************************************************************** ***#

DefaultPrefix=/var/mqm

LogDefaults:

LogPrimaryFiles=3

LogSecondaryFiles=2

LogFilePages=1024

LogType=CIRCULAR

LogBufferPages=0

LogDefaultPath=/var/mqm/log

QueueManager:

Name=saturn.queue.manager

Prefix=/var/mqm

Directory=saturn!queue!manager

QueueManager:

Name=pluto.queue.manager

Prefix=/var/mqm

Directory=pluto!queue!manager

DefaultQueueManager:

Name=saturn.queue.manager

ApiExitTemplate:

Name=OurPayrollQueueAuditor Sequence=2

Function=EntryPoint

Module=/usr/ABC/auditor

Data=123

ApiExitCommon:

Name=MQPoliceman

Sequence=1

Function=EntryPoint

Module=/usr/MQPolice/tmqp

Data=CheckEverything

4. 队列管理器配置文件qm.ini

队列管理器配置文件(qm.ini)包含特定队列管理器的相关信息。每个队列管理器都有一个队列管理器配置文件。创建和 qm.ini 文件关联的队列管理器时,将自动创建此文件。

qm.ini 文件保存在队列管理器占用的目录树的根中。例如,队列管理器 QMNAME 的配置文件的路径和名称是:

/var/mqm/qmgrs/QMNAME/qm.ini

队列管理器名称可长达 48 个字符的长度。但是,这并不保证此名称是有效的或唯一的。因此,目录名称是基于队列管理器名称生成的。这个过程也称为名称变换。有关描述,请参阅理解 WebSphere MQ 文件名。

图 10显示在 WebSphere MQ for UNIX 系统中如何在队列管理器配置文件中排列属性的组。

图 10. WebSphere MQ for UNIX 系统的队列管理器配置文件示例

#* Module Name: qm.ini *# #* Type : WebSphere MQ queue manager configuration file *# # Function : Define the configuration of a single queue manager *# #* *# #*******************************************************************# #* Notes : *# #* 1) This file defines the configuration of the queue manager *# #* *# #*******************************************************************#

ExitPath:

ExitsDefaultPath=/var/mqm/exits

ExitsDefaultPath64=/var/mqm/exits64

Service:

Name=AuthorizationService

EntryPoints=13

ServiceComponent:

Service=AuthorizationService

Name=MQSeries.UNIX.auth.service

Module=/opt/mqm/bin/amqzfu 1

ComponentDataSize=0

Log:

LogPrimaryFiles=3

LogSecondaryFiles=2

LogFilePages=1024

LogType=CIRCULAR

LogBufferPages=0

LogPath=/var/mqm/log/saturn!queue!manager/ XAResourceManager:

Name=DB2 Resource Manager Bank

SwitchFile=/usr/bin/db2swit

XAOpenString=MQBankDB

XACloseString=

ThreadOfControl=THREAD

Channels: 2

MaxChannels=20

MaxActiveChannels=100

MQIBindType=STANDARD

TCP:

KeepAlive = Yes

QMErrorLog:

ErrorLogSize=262144

ExcludeMessage=7234

SuppressMessage=9001,9002,9202

SuppressInterval=30

ApiExitLocal:

Name=ClientApplicationAPIchecker

Sequence=3

Function=EntryPoint

Module=/usr/Dev/ClientAppChecker

Data=9.20.176.20

5. MQ日志

5.1.1. 队列管理器日志

从 WebSphere MQ 资源管理器使用日志队列管理器属性页,或 qm.ini 文件中的Log 节来指定与此队列管理器上的日志记录相关的信息。

缺省情况下,这些设置从为队列管理器的缺省日志设置指定的设置继承(在WebSphere MQ 的日志缺省中描述)。如果您要以不同的方法配置此队列管理器,则仅更改这些设置。

有关计算日志大小的信息,请参阅计算日志的大小。

注:

以下参数列表中给出的限制由 WebSphere MQ 设置。操作系统限制可能减少最大可能的日志大小。

LogPrimaryFiles=3|2-254 (Windows)|2-510 (UNIX 系统)

创建队列管理器时分配的日志文件。

主日志文件的最小数目是 2,最大数目在 Windows 上是 254,在 UNIX 系统上是 510。缺省值是 3。

主日志文件和辅助日志文件的总数在 Windows 不能超过 255,在 UNIX

系统上不能超过 511,并且不能小于 3。

创建或启动队列管理器时检查此值。创建队列管理器后,您可更改它。但是,在重新启动队列管理器前值的更改不是有效的,不会立即产生作用。

LogSecondaryFiles=2|1-253 (Windows)|1-509 (UNIX 系统)

耗尽主文件时分配的日志文件。

辅助日志文件的最小数目是 1,在 Windows 上最大数目是 253,在 UNIX 系统上最大数目是 509。缺省数目是 2。

主日志文件和辅助日志文件的总数在 Windows 不能超过 255,在 UNIX

系统上不能超过 511,并且不能小于 3。

启动队列管理器时检查此值。您可更改此值,但是在重新启动队列管理器前更改不会有效,而且然后也不会立即发生作用。

LogFilePages=number

日志数据保存在称为日志文件的一系列文件中。日志文件大小以 4 KB 页为单位指定。

在 WebSphere MQ for UNIX 系统中,日志文件页数的缺省数是 1024,日志文件大小是 4 MB。日志文件的最小页数是 64,最大页数是 65 535。

在 WebSphere MQ for Windows 中,日志文件页数的缺省值是 256,日志文件大小是 1 MB。日志文件的最小页数是 32,最大页数是 65 535。

注:

创建队列管理器期间指定的日志文件大小不能因为队列管理器而更改。LogType=CIRCULAR|LINEAR

队列管理器使用的日志记录类型。一旦创建了队列管理器,您就无法更改将使用的日志记录的类型。请参阅WebSphere MQ 的日志缺省中的

LogType 属性的描述,以获取关于创建具有您需要的日志记录类型的队列管理器的信息。

CIRCULAR

使用日志回滚系统停止时在处理中的事务来启动重新启动恢复。

请参阅循环日志记录以获取更全面的循环日志记录的说明。

LINEAR

对于重新启动恢复和介质或正向恢复(通过重放日志内容来创建丢失或损坏的数据)。

请参阅线性日志记录以获取更全面的线性日志记录的说明。

LogBufferPages=0|0-4096

分配给缓冲区记录进行写操作的内存数量,以 4 KB 页为单位指定缓冲区大小。

缓冲区页的最小数量是 18,最大数量是 4096。缓冲区越大,其吞吐量越高,尤其是那些较大的消息。

如果您指定 0(缺省值),则队列管理器选择此大小。在 WebSphere MQ V6.0 中,这是 128(512 KB)。

如果您指定一个 1 到 17 之间的数,则队列管理器缺省是 18(72 KB)。

如果您指定一个 18 和 4096 之间的数,则队列管理器使用指定的用于设置内存分配的数。

创建或启动队列管理器时检查此值,在这两个时候值可能会增加或减少。

但是,对此值的更改在重新启动队列管理器之后才会有效。

LogPath=directory_name

队列管理器的日志文件所在的目录。该目录必须存在于队列管理器能写的本地设备上,更好的情况是该目录与消息队列在不同的驱动器上。指定不同的驱动器能在系统发生故障的情况下提供更好的保护。

缺省值是:

?在 WebSphere MQ for Windows 中是 C:\Program

Files\IBM\WebSphere MQ\log。

?在 WebSphere MQ for UNIX 系统中是 /var/mqm/log。

您可以使用 -ld 标志在 crtmqm 命令中指定目录的名称。创建队列管理

器时,在队列管理器目录下还会创建一个目录,此目录用于保存日志文件。

这个目录的名称基于队列管理器名称。这确保日志文件路径是唯一的,并确保它符合目录名称长度的任何限制。

如果您没有在 crtmqm 命令中指定 -ld,则使用 LogDefaultPath 属性的值。

在 WebSphere MQ for UNIX 系统中,用户标识 mqm 和组 mqm 必须具有

对日志文件的全部权限。如果您更改这些文件的位置,则必须自己提供这些权限。如果日志文件位于随此产品一起提供的缺省位置,则这不是必需的。

LogWriteIntegrity=SingleWrite|DoubleWrite|TripleWrite

记录器使用的用于可靠地写日志记录的方法。

SingleWrite

某些硬件保证当写操作写一个页并因任何原因失败时,对缓冲区中相同页的后续读操作会导致缓冲区中的每个字节出现下列两种情况:

?是与写操作之前相同的字节,或

?是在写操作中已写的字节

在此类硬件上(例如,启用 ssa 写高速缓存),因为该硬件可以保证完

全的写完整性,所以记录器在单个写操作中写日志记录是很安全的。此方法提供最高级别的性能。

DoubleWrite

DoubleWrite 方法是在 WebSphere MQ V5.2 中使用的缺省方法,且只可

用于向后兼容性的用途。

TripleWrite

这是缺省方法。在确定写完整性不可用的硬件中,使用 TripleWrite 方

法写入日志记录,因为 TripleWrite 方法提供完整的写完整性。

5.1.2. 计算日志的大小

确定队列管理器应该使用循环日志记录还是线性日志记录后,您需要估计该队列管理器需要的日志大小。日志大小是由以下日志配置参数确定的:

LogFilePages

每个主日志文件和辅助日志文件的大小(以4K 页为单位)

LogPrimaryFiles

预分配的主日志文件数

LogSecondaryFiles

可创建的辅助日志文件数(主日志文件满时使用)

表 17显示队列管理器为各种操作记录的数据量。大多数队列管理器操作需要的日志空间量都很少。但是,当持久消息放入队列时,所有消息数据都必须写入日志,以便能恢复此消息。通常,日志大小取决于队列管理器需要处理的持久消息的数量和大小。

1.每当队列管理器启动时,您都可以更改主日志文件和辅助日志文件的数目。

2.您无法更改日志文件大小;必须在创建队列管理器前确定它。

3.主日志文件的数量和日志文件大小确定创建队列管理器时预分配的日志空间的量。

4.主日志文件和辅助日志文件的总数在UNIX 系统上不能超过511,在Windows 上

不能超过255,当存在长期运行事务时,这会限制队列管理器可用于重新启动恢复的最大日志空间量。队列管理器用于介质恢复所需的日志空间量不共享此极限。5.使用循环日志记录时,队列管理器复用主日志空间。这意味着队列管理器的日志可

以比您估计的队列管理器需要记录的数据量要小。日志文件满时,队列管理器将分配一个辅助日志文件(最多到极限值),并且序列中的下一个主日志文件不可用。6.主日志文件可用于检查点期间的复用。由于日志空间量的减少,因此使用检查点前,

队列管理器会考虑主日志和辅助日志空间。

如果您不定义比辅助日志文件更多的主日志文件,则队列管理器在采用检查点前可以分配辅助日志文件。这使得主日志文件可以复用。

5.1.3. 错误日志

WebSphere MQ 使用了许多错误日志来捕获相关消息,这些消息与 WebSphere MQ 自身的操作、您启动的任何队列管理器以及来自正在使用的通道的错误数据有关。

错误日志的位置取决于队列管理器名称是否是已知的,以及错误是否与客户机有关。

?如果队列管理器名称是已知的,则错误日志的位置如表18 中所示。

?如果队列管理器名称是未知的,则错误日志的位置如表19 中所示。

?如果是客户机应用程序发生了错误,则客户机上错误日志的位置如表20 中所示。

在 WebSphere MQ for Windows 中,对错误的指示也同样添加到应用程序日志中,可以用与 Windows 系统一起提供的“事件查看器”应用程序来检查应用程序日志。

在安装期间,将在 UNIX 系统上的 /var/mqm 文件路径中,以及 Windows 系统上的 \IBM\WebSphere MQ\ 文件路径中创建 errors 子目录。errors 子目录最多可以包含 3 个错误日志文件,它们是:

?AMQERR01.LOG

?AMQERR02.LOG

AMQERR03.LOG

在创建了队列管理器后,队列管理器将在需要时创建 3 个队列管理器错误日志文件。这些文件的名称与它们在系统错误日志目录中的名称一样,即 AMQERR01、AMQERR02 和 AMQERR03,并且每个文件的缺省容量都是 256 KB。可从 WebSphere MQ 资源管理器中的扩展队列管理器属性页,或 qm.ini 文件中的 QMErrorLog 节来更改容量。在 UNIX 系统上,这些文件位于 /var/mqm/qmgrs/qmname文件路径的 errors 子目录中,在 Windows 系统上,这些文件位于 \IBM\WebSphere MQ\qmgrs\qmname\errors 文件路径中。

错误消息生成后将被放在 AMQERR01 中。AMQERR01 大于 256 KB 时,将被复制到 AMQERR02 中。在此复制前,AMQERR02 被复制到 AMQERR03.LOG 中。而AMQERR03 中以前的内容(如果有的话)将废弃。

这样,最新的错误消息总是放在 AMQERR01 中,而其它文件则用于保存错误消息的历史。

所有与通道相关的消息也将放在相应队列管理器的错误文件中,除非该队列管理器不可用或它的名称是未知的,此时,与通道相关的消息将放在系统错误日志目录中。

要检查任何错误日志文件的内容,请使用常用的系统编辑器。

早期的错误

还存在这些错误日志还没有建立就发生错误的特殊情况。WebSphere MQ 尝试在错误日志中记录任何这样的错误。日志的位置取决于建立了多少队列管理器。

如果由于损坏了配置文件,例如,不能确定位置信息,则将错误记录到根目录(/var/mqm 或 C:\Program Files\IBM\WebSphere MQ)中的在安装期间创建的errors 目录中。

如果 WebSphere MQ 可以读取其配置信息,并且可以访问 Default Prefix 的值,则错误记录在由 Default Prefix 属性确定的目录的 errors 子目录中。例如,如果缺省前缀为 C:\Program Files\IBM\WebSphere MQ,则错误在 C:\Program Files\IBM\WebSphere MQ\errors 中记录。

要获取有关配置文件的更多信息,请参阅配置 WebSphere MQ。

注:

在Windows 注册表中的错误由启动队列管理器时的消息通知的。

错误日志示例

图 23 显示了从 WebSphere MQ 错误日志抽取的内容:图23. WebSphere MQ 错误日志样本

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为默认队列管理器)

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 创建进程定义

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

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命令.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测试常用命令

测试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日常维护文档

一. 简介 (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 显示结果

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 tcp exp runmqlsr -m GCP_QM -p 1414 -t tcp & 停止监听 endmqlsr -m qmgrname 选择队列管理器 runmqsc Qmgrname 退出队列管理器 end 显示队列属性 DISPLAY QLOCAL (Q)

查看全部队列 dis q(*) AIX查看系统版本: lslpp -ah mqm.server.rte linux查看系统版本: rpm -qa |grep mq endmqm 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)

消息中间件MQ常用命令

WebShpere 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) +

MQ常用命令1

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 tcp exp runmqlsr -m GCP_QM -p 1414 -t tcp & 停止监听 endmqlsr -m qmgrname 选择队列管理器 runmqsc Qmgrname 退出队列管理器 end 显示队列属性 DISPLAY QLOCAL (Q) 查看全部队列 dis q(*) AIX查看系统版本: lslpp -ah mqm.server.rte linux查看系统版本:

rpm -qa |grep mq endmqm 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)

相关主题
文本预览
相关文档 最新文档