ibm 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。
mq命令
QDEPTHHI(80) QDEPTHLO(20)
QDPMAXEV(ENABLED) QDPHIEV(DISABLED)
XMITQ(QT_NT)
创建发送方通道,其传输队列为QT_NT,远程主机地址为10.10.10.2,侦听端口为1414
DEFINE CHANNEL(SDR_NT) CHLTYPE(SDR)+
CONNAME(‘10.10.10.2(1414)’) XMITQ(QT_NT) REPLACE
如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字
启动通道
runmqchl –c ChlName –m QmgrName
启动侦听
runmqlsr –t TYPE –p PORT –m QMgrName
停止侦听
endmqlsr -m QmgrName
MQSeries命令
8.退出命令行使用 end 命令。
一.MQ基本操作
MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下:
创建队列管理器
crtmqm –q QMgrName
-q是指创建缺省的队列管理器
删除队列管理器
远程队列定义
DEFINE QREMOTE(QRNAME) +
RNAME(AAA) RQMNAME(QMGRNAME) +
XMITQ(QTNAME)
定义模型队列
DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)
定义本地传输队列
IBM 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 QmgrNameMQSeries命令定义死信队列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。
IBM AIX命令手册:IBM MQ管理、安装和卸载说明书
Summary of AIX commands to administrate MQhttps:///support/pages/node/6407842Date last updated: 17-Jun-2021Angel Rivera –*************.comIBM MQ Support+++ Objective +++T o provide the most common AIX commands to administrate, install and uninstall MQ.The organization of the sections is based on what will be the commands to start the installation of MQ from scratch:- ensuring that you have a supported version of AIX: uname, oslevel- create the group “mqm” (mkgroup) and the user “mqm” (mkuser),- unpack the .Z or tar.gz file downloaded from IBM Passport Advantage or IBM Fix Central: gunzip, uncompress, zcat, tar- install/uninstall via installp- querying filesets via lslpp- create (mkusil), list (lsusil), remove (rmusil) a USIL, and- specifying USILs (-R ALL or -R /usr/mqm92) with installp and lslpp++ Update from 17-Jun-2021The AIX command “install -r” that is discussed in this chapter will REJECT all the fix packs installed in the server. If you have only 1 fix pack or if you want to delete at the same time all the fix packs, then the procedure in this chapter is fine.But if you have multiples fix packs and you want to uninstall ONL Y the LATEST one, then you need to use another procedure, which is documented in the article:https:///support/pages/node/6464857Uninstalling only the latest fix pack for MQ in AIX and leaving behind other previous fix packs+++ Related tutorials +++https:///support/pages/node/6405792Customization of an AIX server for using MQ+ Customization of Putty for using Function Key F3 with smitty+ Creating groups and userids+ Downloading, customizing and using the sample scripts+ Customization of bash login for root+ Customization of set-mq-xxx scripts in /usr/local/bin to reflect MQ installations+ Customize the bash login for user "mqm" or the normal user "fulanohttps:///support/pages/node/6407850Installing in AIX - MQ 9.0.0.1 LTS, applying Fix Pack 9.0.0.11, Uninstalling MQChapter 1: How to get the installation imagesChapter 2: Create userid "mqm" and group "mqmChapter 3: Installation of MQ 9.0.0.1 (Installation1 in /usr/mqm)Chapter 4: Setting the environment for MQChapter 5: Creating a test queue manager, quick verification testChapter 6: Installation of the Fix Pack 9.0.0.11Chapter 7: Uninstallation of the Fix Pack 9.0.0.11Chapter 8: Uninstallation of the base 9.0.0.1Chapter 9: Appendices showing full output from installp for the scenarioshttps:///support/pages/node/6415777Upgrading in AIX from MQ 9.0.0.1 to MQ 9.1.0.0 LTSChapter 1: How to get the installation imagesChapter 2: T ake a backup of the queue manager data and recovery logsChapter 3: Uninstalling MQ 9.0Chapter 4: Installing MQ 9.1.0.0 LTSChapter 5: Running setmqenv to use MQ 9.1 commandsChapter 6: Creating a queue manager under 9.1Chapter 7: Upgrading an existing queue manager to MQ 9.1https:///support/pages/node/6415921Installing in AIX - MQ 9.2 LTS to coexist with MQ 9.1 LTS, including applying Fix Packs 9.1.0.7 and 9.2.0.1 Chapter 1: How to get the installation imagesChapter 2: Creating USIL and installing MQ 9.2 side-by-side to MQ 9.1Chapter 3: Need to run setmqenv to use MQ 9.1 or MQ 9.2 commandsChapter 4: Creating a queue manager under MQ 9.2Chapter 5: Migrating an MQ 9.1 queue manager to MQ 9.2Chapter 6: Installing Fix Pack 9.1.0.7 in Installation1 (default location)Chapter 7: Installing Fix Pack 9.2.0.1 in Installation2 (USIL /usr/mqm92)Chapter 8: Uninstallation of MQ 9.2Chapter 9: Deleting the USIL /opt/mqm92https:///support/pages/node/6429607Life cycle for a USIL in AIX for non-default installations of MQ++ Displaying version of operating systemDisplaying the platform and hostname+ROOT+ aglet: /downloads# uname -aAIX aglet 2 7 00F944604C00Displaying the version (high lievel)# oslevel7.2.0.0Displaying the detailed version# oslevel -s7200-05-01-2038+++ Creating group ‘mqm’ and user ‘mqm’The following steps show how to create:- a group “mqm” (gid 202),- a user “mqm” (userid 205),- under /home/mqmLogin as user: rootCreate a group called “mqm” with groupid of 202:mkgroup -'A' id='202' mqmCreate a user also called “mqm” with userid of 205 and who belongs to group “mqm”: mkuser id='205' pgrp='mqm' home='/home/mqm' mqmYou can assign the password:passwd mqmYou can use the command “id” to find out the ids and the group membership:$ id mqmuid=205(mqm) gid=202(mqm) groups=1(staff)+++ How to unpack tar.Z and tar.gz filesWhen you download MQ files from IBM Passport Advantage or IBM Fix Central, there are 2 possible suffixes for the file names:tar.Ztar.gzThe tar options are:-x T o extract members from the archive into the file system.-v T o be verbose about the operation being performed.-f FileArchive T o use the specified file archive as the tar archive.The rest of this section provides more details on how to unpack the files.a) Suffix: tar.ZThe most common ways to unpack this type of files are:a.1) One (1) long compound command (it preserves the file tar.Z)zcat MQ_V9.0_F_AIX_EIMAGE.tar.Z | tar -xvf -The output of zcat is sent to the standard output file (i.e., stdout).This allows the user to decompress the compressed tar file (leaving the compressed file unchanged), and then to expand the tar file to the current directory.The "f -" tar command line option tells the tar command to read its input from the standard input file (i.e., stdin).a.2) T wo (2) simpler commands (the tar.Z is uncompressed, leaving a .tar file) Decompress the file tar.Z by issuing:uncompress MQ_V9.0_F_AIX_EIMAGE.tarThen unpack the file:tar -xvf MQ_V9.0_F_AIX_EIMAGE.tarb) Suffix: tar.gzb.1) One (1) long compound command (it preserves the file tar.gz)gunzip -c IBM_MQ_9.1_AIX.tar.gz | tar -xvf -A common convention is to use the "-c" command line option on the gunzip command so that instead of replacing the tar.gz, the output of the command is sent to the standard output file (i.e., stdout). This allows the user to decompress the compressed tar file (leaving the compressed file unchanged), and expand the tar file to the current directory. The "f -" tar command line option tells the tar command to read its input from the standard input file (i.e., stdin).b.2) T wo (2) simpler commands (the tar.gz is uncompressed, leaving a .tar file) Decompress the file tar.gz by issuing:gunzip IBM_MQ_9.1_AIX.tar.gzThen unpack the file:tar -xvf IBM_MQ_9.1_AIX.tar+++ Creating a USIL to install in a non-default location, such as /usr/mqm92+ Create a dedicated installation directory and designate it as a USILLogin as userid root to create the USIL- Create directory for the USIL.This directory will be designated to be a USIL in a step mentioned later on.# mkdir /usr/mqm92- List the subdirectories that will have the MQ code.Note that /usr/mqm is the default location for Installation1 (in this case,it already has MQ 9.1)# ls -dl /usr/mq*dr-xr-xr-x 20 mqm mqm 4096 Jan 27 07:34 /usr/mqmdrwxr-xr-x 2 root system 256 Jan 27 09:17 /usr/mqm92- So far, we do not have any USI Ls. Let’s verify by issuing the following command:# lsusil(empty)- Make the newly created directory a USIL.Note that the directory will be known as: INSTALL_ROOT_PATH# mkusil -R /usr/mqm92 -c 'MQ 9.2' -Xmkusil: Return Status = SUCCESSWhere:-R /usr/mqm92 => usil location-c comment-X Expands the space needed automatically.- List the USILs and note the new one:# lsusilINSTALL PATH = /usr/mqm92COMMENTS = MQ 9.2- Proceed to use the USIL with installp and lslpp.- If you uninstall MQ from the USIL and if you decide to not use the USIL anymore, then delete it.Please keep in mind that rmusil does not delete the directory structure for the USIL! # rmusil -R /usr/mqm92rmusil: Return Status = SUCCESS- List the USILs (it should show no USILs)# lsusil(empty)- Remove the directory structure that was associated with the USIL:# rm -fr /usr/mqm92+++ Using installp to install and uninstallAfter using “tar -xvf” to unpack the base code to install, you need to go to the newly created directory “MQServer”# cd MQServer++ Install the base code:T o install the base code in the default location /usr/mqm:# installp -acgXYd . all- T o install the base code in a non-default location such as /usr/mqm92# installp -R /usr/mqm92 -acgXYd . allWhere “-R usil” is the path of the User Specified Installation Location (USIL) specified when the product was installed.++ Install the fix pack code on top of an existing installation:T o install the fix pack code in the default location /usr/mqm:# installp -agXYd . all- T o install the fix pack code in a non-default location# installp -R /usr/mqm92 -agXYd . allWhere “-R usil” is the path of the User Specified Installation Location (USIL) specified when the product was installed.++ Reject ALL the Updates (uninstall all the Fix Packs)From the default location:# installp -r "mqm*"From a USIL:# installp -R /usr/mqm92 -r "mqm*"++ Update from 17-Jun-2021The AIX command “install -r” that is discussed in this chapter will REJECT all th e fix packs installed in the server. If you have only 1 fix pack or if you want to delete at the same time all the fix packs, then the procedure in this chapter is fine.But if you have multiples fix packs and you want to uninstall ONL Y the LATEST one, then you need to use another procedure, which is documented in the article:https:///support/pages/node/6464857Uninstalling only the latest fix pack for MQ in AIX and leaving behind other previous fix packs++ Uninstalling the base code:T o uninstall or modify IBM MQ by using installp, enter one of the following commands:- T o uninstall an installation in the default location /usr/mqm:installp -u mqm- T o uninstall an installation in a non-default location:installp -R /usr/mqm92 -u mqmWhere “-R usil” is the path of the User Specified Installation Location (USIL) specified when the product was installed.+++ Using lslpp to list the MQ filesetsa) This is the most comprehensive command to list all the installed MQ filesets ACROSS the different USILs and including the normal location of /usr/mqm.The following shows the output when MQ is not installed at all and there are no USILs. Note that ALL is in UPPERCASE!# lslpp -R ALL -la "mqm.*"+-----------------------------------------------------------------------------+INSTALL ROOT PATH = /+-----------------------------------------------------------------------------+lslpp: 0504-132 Fileset mqm.* not installed.If there are no USILs, then this is the command.In this case, no MQ filesets are installed.# lslpp -la "mqm.*"lslpp: 0504-132 Fileset mqm.* not installed.b) Listing the file sets from the default location /usr/mqm# lslpp -la "mqm*"Fileset Level State Description----------------------------------------------------------------------------Path: /usr/lib/objreposmqm.amqp.rte 9.0.0.1 COMMITTED IBM MQ AMQP Service9.0.0.11 APPLIED IBM MQ AMQP Servicemqm.ams.rte 9.0.0.1 COMMITTED IBM MQ Advanced MessageSecurity9.0.0.11 APPLIED IBM MQ Advanced MessageSecurityc) Listing the file sets for the USIL# lslpp -R /usr/mqm92 -la "mqm*"Fileset Level State Description----------------------------------------------------------------------------Path: /usr/mqm92/usr/lib/objreposmqm.amqp.rte 9.2.0.0 COMMITTED IBM MQ AMQP Servicemqm.ams.rte 9.2.0.0 COMMITTED IBM MQ Advanced - AdvancedMessage Securitymqm.base.runtime 9.2.0.0 COMMITTED IBM MQ Runtime for Client andServerServer+++ References+++ AIX 7.1 documentationhttps:///support/knowledgecenter/en/ssw_aix_71/m_commands/mkusil.htmlAIX 7.1 / Commands / m /mkusil Command.Creates or attaches a new user-specified installation location (USIL) instance.Syntaxmkusil -R RelocatePath -c Comments [-XFa]DescriptionThe mkusil command creates or attaches a new USIL instance.A user-specified installation location (USIL) is a tracked, relocated installation path that is created by the administrator. The location is tracked by the system and can be used as an alternate installation path for packages that use relocation of file sets or software. Multiple instances or versions of the same software package can be installed on a single system by delegating each installation to a separate USIL.An existing USIL instance can be attached or detached from any given system.Each USIL instance maintains its own set of Software Vital Product Data (SWVPD) in three installp parts:InstallRoot/etc/objreposInstallRoot/usr/lib/objreposInstallRoot/usr/share/lib/objrepos++ Information about the flags for the AIX command: installpThe flags for installp mentioned in the online manual for MQ indicate to apply, commit, expand file system, agree with license, using the .toc (table of contents) file and filesets in the current directory:installp -acgXYd . allhttps:///support/knowledgecenter/en/ssw_aix_72/i_commands/installp.htm lAIX 7.2 / Commands / i /installp CommandPurposeInstalls available software products in a compatible installation package.Flags:-R path Indicates a user-specified installation location.-a Applies one or more software products or updates. This is the default action. This flag can be used with the -c flag to apply and commit a software product update when installed.-c Commits all specified updates that are currently applied but not committed. When an update is committed all other software products it is dependent on must also be committed (unless they are already in the committed state). The specified software product is dependent on any software product that is a prerequisite or corequisite of the specified product. If the requisite software products are not in the committed state, the commit fails and error messages are displayed. The -g flag can be used to automatically commit requisite software product updates.-g When used to install or commit, this flag automatically installs or commits, respectively, any software products or updates that are requisites of the specified software product. When used to remove or reject software, this flag automatically removes or rejects dependents of the specified software.-X Attempts to expand any file systems where there is insufficient space to do the installation. This option expands file systems based on current available space and size estimates that are provided by the software product package. Note that it is possible to exhaust available disk space during an installation even if the -X flag is specified, especially if other files are being created or expanded in the same file systems during an installation. Also note that any remote file systems cannot be expanded.-Y Agrees to required software license agreements for software to be installed. This flag is only valid with the -a flag.-d Device Specifies where the installation media can be found.Notice that "d ." means: current directory-r Rejects all specified software updates that are currently applied but not committed. When a software update is rejected any other software product that is dependent on it (that is, those software products that have the specified software product as a requisite) must also be rejected. The -g flag can be used to reject automatically dependent software updates.-u Removes the specified software product and any of its installed updates from the system. The product can be in either the committed or broken state.https:///support/knowledgecenter/ssw_aix_72/l_commands/lslpp.htmlAIX 7.2 /lslpp Command-R { path | ALL } Indicates a user-specified installation location.-a Displays all the information about filesets specified when combined with other flags. This flag shows all updates when combined with the -l flag and all history when combined with the -h flag.-l (lowercase L) Displays the name, most recent level, state, and description of the specified fileset.++ MQ Documentationhttps:///support/knowledgecenter/SSFKSJ_9.2.0/com.ibm.mq.ins.doc/q008600_.htm IBM MQ 9.2.x / Installing and uninstalling IBM MQ / Installing and uninstalling IBM MQ on AIX /Installing IBM MQ server on AIX.You must install the second version of the product in a location that is not the default. To create the non-default installation location you must use the mkusil command, which is available only from the command line..Install the whole product in a non-default location using the -R flag:installp -R USIL_Directory -acgXYd . allhttps:///support/knowledgecenter/SSFKSJ_9.2.0/com.ibm.mq.mig.doc/q008 010_.htmlIBM MQ 9.2.x / IBM MQ / Maintaining and migrating / Applying maintenance to IBM MQ / Applying and removing maintenance on UNIX and Linux /Applying maintenance level updates on AIX (Installation of Fix Packs)*** Note: The components will be either COMMITTED or APPLIED depending on the options chosen when applying the fix pack.https:///support/knowledgecenter/SSFKSJ_9.2.0/com.ibm.mq.mig.doc/q008 020_.htmlIBM MQ 9.2.x / IBM MQ / Maintaining and migrating / Applying maintenance to IBM MQ / Applying and removing maintenance on AIX and Linux /Reverting to the previous maintenance level on AIXT o back out ALL maintenance updates, as the user root, issue the command:installp [ -R usil ] -r "mqm*"https:///support/knowledgecenter/SSFKSJ_9.2.0/com.ibm.mq.ins.doc/q0094 20_.htmlIBM MQ 9.2.x / IBM MQ / Installing and uninstalling / Installing and uninstalling IBM MQ on AIX /Uninstalling or modifying IBM MQ on AIXT o uninstall an installation in the default location /usr/mqm:installp -u mqm+++ end。
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常用命令
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.清理所有残留在系统内部的信号灯和 共享内存”。
(转)IBMmq基本使用
(转)IBMmq基本使⽤⼀、下载7.5 Trial版本这是下载⽹址,下载前先必须注册IBM ID,下载完成后⼀路Next即可(注:windows上安装时,会询问是否域环境,初次学习时,为简单起见,建议选择No)安装完成后,MQ的Bin⽬录会⾃动添加到环境变量Path中,以后就可以直接⽤Dos命令⾏窗⼝操作(当然,也可以⽤图形化GUI⽅式通过IBM WebSphere MQ Explorer来管理)注:安装时,强烈建议⽤管理员Administrator⾝份安装,否则安装完成后,有可能license⽆法⽣效、runmqsc命令模式下⽆法正常执⾏命令.⼆、创建队列管理器WIN + R键,输⼊cmd,进⼊命令⾏窗⼝,键⼊:crtmqm QM_TEST创建⼀个队列管理器QM_TEST(你可以改成⾃⼰想要的名字),如果把整个MQ理解成⼀个数据库实例,QM_TEST相当于就是db instance中的schema(或user)命令⾏创建的队列管理器默认是不活动状态的,可以⽤strmqm QM_TEST来启动队列管理器三、创建队列如果说“队列管理器”是db中的schema,那么"队列"就相当于db中的Table了,⽽队列中的每条"消息",就相当于Table中的每条记录,继续在命令⾏窗⼝模式下,输⼊runmqsc QM_TEST将进⼊MQ的交互命令模式,继续输⼊define qlocal(Q1)将创建⼀个本地队列Q1(你可以改成⾃⼰需要的名字),如果此时你打开 "开始菜单->程序->IBM WebSphere MQ->WebSphere MQ Explorer (Installation1)"也能同步在图形界⾯下,看到这个队列最后键⼊end,退出MQ的交互命令模式。
四、发送消息继续在Windows命令模式下,输⼊amqsput Q1 QM_TEST这⾥系统将处于等待⽤户输⼊的状态,随便输⼊⼀些消息,然后连敲⼆次回车,完成消息发送五、接收消息amqsget Q1 QM_TEST把刚才的put换成了get,将从队列管理器QM_TEST的队列Q1中,把消息取出来六、进阶指南熟悉以上命令⾏操作后,还可以⽤图形化的操作⽅式再强化⼀遍(建议还是多⽤命令⾏模式,因为有些操作只能⽤命令⾏完成,⽐如后⾯要提到的修改队列管理器编码)WebSphere MQ Explorer中,从"帮助"菜单⾥调出帮助⽂档,⾥⾯有⼀个不错的教程,强烈推荐新⼿看⼀遍不过,"教程2:将消息发送⾄远程队列"这⾥,帮助⽂档上有⼏个细节没讲透,导致初次⽤命令⾏照着做,可能会不成功,⼏个要点如下:1、通道命名问题发送⽅与接收⽅的通道名称,必须⼀样,这样⼆边才能对应起来2、接收⽅必须要有侦听器,⽽且要处于激活状态3、发送⽅的发送通道中,连接名称格式为:"<接收⽅HostName或IP地址>(接收⽅-队列管理器-侦听器的TCP端⼝) ,不包括"<>“,⽐如⽐如:yangjm(1514)或172.12.134.14(1514)4、发送⽅的发送通道必须处于激活状态,如果通道启动失败,尝试右键->ping/复位,如果还不⾏,检查上述要点1-3是否设置有问题七、远程连接问题图形⽅式添加“远程队列管理器”时,如果远程队列也是7.x或以上版本,当前登录⽤户是管理员时,将提⽰权利不⾜,拒绝连接,原因是7.0以上,MQ提⾼了安全性,会默认拦截管理员,详情可参考IBM上的解释解决⽅式:1. 更换当前⽤户,建⼀个mqm⽤户组(MQ安装后,会默认创建该Windows⽤户组)的⽤户,然后以该⽤户⾝份登录操作2.参考IBM上的解释,如果出于学习⽬的,最简单的做法,就是在runmqsc交互模式下,键⼊ALTER QMGR CHLAUTH(DISABLED) 直接关闭通道认证(⽣产环境不推荐这么做)另外,要想本机上的队列能被远程管理,前提是该队列管理器允许远程管理,操作⽅式:队列管理器上右击->选择"远程管理...",接下来的事情⼤家都知道⼋、字符集编码问题每个队列管理器,都有⼀个CCSID的属性,对应的就是字符集编码,在windows系统中,这个编码应该是1381,如果你是⽤其它OS(⽐如linux)的配置通过脚本导⼊MQ的,可能编码就不是1381了,这会导致在windows上⽆法连接\启动队列管理器,可以通过MQ交互命令⾏修改,runmqsc QM_TEST 进⼊QM_TEST的MQ交互模式DISPLAY QMGR CCSID 查看当前的CCSID属性ALTER QMGR CCSID(1381) 修改字符集编码为1381九、如何从“试⽤版”升级成“正式版”试⽤版默认只能⽤90天,到期后,如果购买了正式版的license,可以通过命令⾏导⼊license,命令如下:setmqprd x:\license\amqpcert.lic注:amqpcert.lic中的P即代表这是Product⽣产版本,setmqprd 后⾯的路径即为license⽂件的所在路径⼗、java连接⽰例代码import com.ibm.mq.MQC;import com.ibm.mq.MQEnvironment;import com.ibm.mq.MQException;import com.ibm.mq.MQGetMessageOptions;import com.ibm.mq.MQMessage;import com.ibm.mq.MQPutMessageOptions;import com.ibm.mq.MQQueue;import com.ibm.mq.MQQueueManager;/** 可以在MQ的资源管理器的某⼀个队列上放⼊测试消息、浏览消息等* 可以放⼊多条消息,按先进先出的⽅式取得*/public class MQTest {private String qManager;// QueueManager名private MQQueueManager qMgr;private MQQueue qQueue;String HOST_NAME;int PORT = 0;String Q_NAME;String CHANNEL;int CCSID;String Msg;public void init() {try {HOST_NAME = "yangjm";//Hostname或IPPORT = 1414;//要有⼀个侦听器,处于活动状态,且监听1414端⼝qManager = "QM_APPLE";Q_NAME = "Q1";//Q1是⼀个本地队列CHANNEL = "DC.SVRCONN";//QM_APPLE上要建⼀个名为DC.SVRCONN的服务器连接通道CCSID = 1381; // 表⽰是简体中⽂,// CCSID的值在AIX上⼀般设为1383,如果要⽀持GBK则设为1386,在WIN上设为1381。
IBM MQ入门
IBM WMQ1.技术介绍1.1. 总体介绍消息队列(MQ)是一种应用程序对应用程序的通信方法。
应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。
消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。
排队指的是应用程序通过队列来通信。
队列的使用除去了接收和发送应用程序同时执行的要求。
IBM WebSphere MQ 产品支持应用程序通过不同组件如处理器、子系统、操作系统以及通信协议的网络彼此进行通信。
例如,IBM WebSphere MQ 支持35 种以上的不同操作系统。
IBM WebSphere MQ 支持两种不同的应用程序编程接口:Java 消息服务(JMS)和消息队列接口(MQI)。
在IBM WebSphere MQ 服务器上,JMS 绑定方式被映射到MQI。
如图所示,应用程序直接与其本地队列管理器通过使用MQI 进行对话,MQI 是一组要求队列管理器提供服务的调用。
MQI 的引人之处是它只提供13 次调用。
这意味着对于应用程序编程员它是一种非常易于使用的接口,因为大部分艰苦工作都将透明完成的。
1.2. 术语定义2.安装2.1. 下载最新版本:7.0.1.3有多个版本:linux_32,linux_64,linux_win2.2. 硬件环境2.3. 安装上传文件到相关目录,CZJ3YML.tar.gz输入1安装后会自动创建系统用户及用户组:mqm 程序安装目录:/opt/mqm数据相关目录:/var/mqmJava相关jar包:/opt/mqm/java/lib后续操作用mqm用户操作2.4. 卸载1.用root帐号登录系统2.停止所有队列管理器//查看正在运行的队列管理器dspmq//停止所有跟队列管理器相关的监听程序,注意:QueueManagerName是队列队列管理器名称,具体名称用命令dspmq查询endmqlsr -m QueueManagerName//停止所有正在运行的队列管理器endmqm QueueManagerName3. //确认所有跟MQ有关的进程都已经停止ps -ef | grep mq4.//查看安装了那些相关的包rpm -q -a | grep MQSeries//一次性删除所有安装的包,以下命令只是一个示例,命令后面的包名称是命令“rpm -q -a | grep MQSeries” //查询所得的所有包名称,包名之间用空格分隔,rpm -ev MQSeriesRuntime-6.0.0-0 MQSeriesServer-6.0.0-0 MQSeriesServer-6.0.0-05.删除用户userdel mqm6.删除文件rm -rf /opt/mqm/rm -rf /var/mqm/7.重启主机2.5. 重新启动MQ3、启动服务启动命令服务器:非必须启动侦听器:验证队列管理器和侦听器在两台计算机上运行,然后启动通道:3.配置配置过程包括以下几个步骤:1.创建队列管理器。
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;。
IBM小型机常用命令操作方法
• queue_depth 3
Queue DEPTH
False
• size_in_mb 36400
Size in Megabytes False
• 这里看到的硬盘容量大小是36GB的,另外也可以得到 PVID 等相关属性。
7、适配卡的配置可以用lsdev –Cc adapter查看
• # lsdev -Cc adapter • sa0 Available 01-S1 Standard I/O Serial Port • sa1 Available 01-S2 Standard I/O Serial Port • sa2 Available 01-S3 Standard I/O Serial Port • sa3 Available 01-S4 Standard I/O Serial Port • siokma0 Available 01-K1 Keyboard/Mouse Adapter • fda0 Available 01-D1 Standard I/O Diskette Adapter • lai0 Available 25-00 GXT135P Graphics Adapter • scsi0 Available 40-60 Wide/Ultra-2 SCSI I/O Controller • scsi1 Available 40-61 Wide/Ultra-2 SCSI I/O Controller • sioka0 Available 01-K1-00 Keyboard Adapter • ppa0 Available 01-R1 CHRP IEEE1284 (ECP) Parallel Port Adapter • ent0 Available 14-08 10/100 Mbps Ethernet PCI Adapter II (1410ff01) • ent1 Available 21-08 10/100 Mbps Ethernet PCI Adapter II (1410ff01) • ent2 Available 40-58 IBM 10/100 Mbps Ethernet PCI Adapter (23100020) • sioma0 Available 01-K1-01 Mouse Adapter
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常用命令
查看死信队列: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)
ibm交换机常用命令
ibm交换机常用命令1. `show version`:显示交换机的硬件和软件版本信息。
2. `show interfaces`:显示交换机的接口信息,包括接口状态、速度、双工模式等。
3. `show mac-address-table`:显示交换机的 MAC 地址表,包括 MAC 地址、接口和VLAN 信息。
4. `show spanning-tree`:显示交换机的生成树信息,包括根桥、端口状态和路径开销等。
5. `show vlan`:显示交换机的 VLAN 信息,包括 VLAN ID、名称和成员接口等。
6. `configure terminal`:进入交换机的配置模式。
7. `interface ethernet/x`:进入指定的以太网接口配置模式,其中`x`是接口编号。
8. `ip address ip_address subnet_mask`:配置接口的 IP 地址和子网掩码。
9. `shutdown`:关闭接口。
10. `no shutdown`:启用接口。
11. `vlan database`:进入 VLAN 数据库配置模式。
12. `vlan x name name`:创建或修改 VLAN,其中`x`是 VLAN ID,`name`是 VLAN 名称。
13. `port ethernet/x vlan x`:将接口添加到指定的 VLAN 中。
14. `spanning-tree mode rstp`:配置生成树协议的模式为 Rapid Spanning Tree Protocol(RSTP)。
15. ` spanning-tree priority priority`:配置交换机的生成树优先级。
这些命令只是 IBM 交换机的一部分常用命令,具体命令和功能可能因交换机型号和配置而有所不同。
在使用这些命令之前,请仔细阅读交换机的用户手册和文档,以确保正确理解和使用。
IBMMQ简单示例
IBMMQ简单⽰例本⽂参考:先添加IBM MQ的jar包,别忘了connector.jar,不然会报错。
TestMQ1public class TestMQ {2private MQQueueManager qmanager = null;3private MQQueue queue = null;45public TestMQ() {6try {7 MQEnvironment.hostname = MQ_HOST;8 MQEnvironment.port = MQ_PORT;9 MQEnvironment.channel = MQ_CHANNEL;10 qmanager = new MQQueueManager(MQ_QUEUEMANAGER_NAME);11int openOptions = MQConstants.MQOO_INPUT_AS_Q_DEF|MQConstants.MQOO_INQUIRE|MQConstants.MQOO_OUTPUT;12 queue = qmanager.accessQueue(MQ_QUEUE_NAME, openOptions);13 } catch (MQException e) {14 e.printStackTrace();15 }16 }getQueueDepth1public Integer getQueueDepth() {2 Integer depth = 0;3try {4if (queue != null && queue.isOpen()) {5 depth = queue.getCurrentDepth();6 }7 } catch (MQException e) {8// TODO Auto-generated catch block9 e.printStackTrace();10 }1112return depth;13 }close queue&qmanager1public void close() {2if (queue != null && queue.isOpen()) {3try {4 queue.close();5 } catch (MQException e) {6 e.printStackTrace();7 }8 }9if (qmanager != null && qmanager.isConnected()) {10try {11 qmanager.disconnect();12 } catch (MQException e) {13 e.printStackTrace();14 }15 }16 }send message to the queue1public void send(String msg) throws MQException {2try {34 MQPutMessageOptions mqPutMessageOptions = new MQPutMessageOptions();5 MQMessage mqMessage = new MQMessage();6 mqMessage.write(msg.getBytes("utf-8"));7 queue.put(mqMessage, mqPutMessageOptions);8 System.out.println("Sent a message:" + msg);910 } catch (UnsupportedEncodingException e) {11// TODO Auto-generated catch block12 e.printStackTrace();13 } catch (IOException e) {14// TODO Auto-generated catch block15 e.printStackTrace();16 }17 }receive a message from the queue1public String receive() throws MQException{2 MQMessage mqMsg = new MQMessage();3 MQGetMessageOptions mqGetMessageOptions = new MQGetMessageOptions();4try {56 queue.get(mqMsg, mqGetMessageOptions);7int len = mqMsg.getDataLength();8byte[] message = new byte[len];9 mqMsg.readFully(message, 0, len);10 String str = new String(message);11 System.out.println("Received a message:" + str);12return str;13 } catch (MQException e) {14// TODO Auto-generated catch block15 e.printStackTrace();16return null;17 } catch (IOException e) {18// TODO Auto-generated catch block19 e.printStackTrace();20return null;21 }2223 }receive all the messages in the queue1public void receiveAll() {2try {3int depth = queue.getCurrentDepth();4 System.out.println("The current depth of queue is " + depth);5 System.out.println("Now receive all messages....");6while(depth-- > 0){7 MQMessage mqMsg = new MQMessage();8 MQGetMessageOptions mqGetMessageOptions = new MQGetMessageOptions();9 queue.get(mqMsg, mqGetMessageOptions);10int len = mqMsg.getDataLength();11byte[] message = new byte[len];12 mqMsg.readFully(message, 0, len);13 System.out.println(new String(message));1415 }16 } catch (MQException e) {17// TODO Auto-generated catch block18 e.printStackTrace();19 } catch (IOException e) {20// TODO Auto-generated catch block21 e.printStackTrace();22 }232425 }main1public static void main(String[] args) {2 TestMQ mq = new TestMQ();34try {5 mq.send("hello everyone");6 mq.send("WHAT");7// System.out.println(mq.receive());8 } catch (MQException e) {9// TODO Auto-generated catch block10 e.printStackTrace();11 }12 mq.receiveAll();13 Integer depth = mq.getQueueDepth();14 System.out.println("The current depth of queue is " + depth);15 mq.close();16 }TestMQ还得加⼀些参数,如下:parameters1public static final String MQ_QUEUEMANAGER_NAME = "";2public static final String MQ_QUEUE_NAME = "";3public static final String MQ_HOST = "";4public static final String MQ_CHANNEL = "";5public static final Integer MQ_PORT = ;运⾏结果:。
(转)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:在清除队列中的消息时候,需要先将占⽤队列的进程停掉,然后执⾏上述清除命令。
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 ⽅式发出的STOPCHANNEL 命令。
1.3. 删除队列管理器命令:dltmqm1.4. 显⽰队列管理器启动状态2. 管理本地MQ对象使⽤MQSC 命令执⾏本地管理任务使⽤MQSC命令执⾏定义或修改队列、通道等操作。
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)。
IBMMQ常用命令
IBMMQ常用命令常用命令创建队列管理器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 QmgrNameMQSeries命令定义死信队列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。
MQ实验2_常用管理命令
MQ实验2试验目的1.熟悉MQ的管理2.熟悉MQ对象的创建方法3.熟悉MQ常用命令试验环境WinXP, SP2WebSphere MQ 6.0.2.0实验步骤尽管MQ在Windows中具有图形界面, 为了方便扩展到UNIX环境, 本练习中采用命令方式创建对象通过本试验,你可以1.创建和启动队列管理器2.用控制命令创建本地队列和显示MQ对象的属性3.修改队列属性和创建别名队列4.使用MQ产品中提供的样例程序放入消息,浏览消息和取出消息步骤一: 创建和启动队列管理器1.打开一个cmd环境, 进入到MQ安装目录下的bin目录,即C:\IBM\WMQ\bin2.创建一个缺省队列管理器,名为QM1,在后面的试验中,我们都将使用这个队列管理器,QM1是本机的队列管理器⇨crtmqm –q QM1队列管理器名称是大小写敏感的, -q参数表明是缺省队列管理器3.启动队列管理器⇨strmqm因为是启动缺省队列管理器,所以不需要提供队列管理器名称步骤二:使用交互式命令进行操作4.用runmqsc命令执行以下任务,输入MQ的交互式命令,在终端显示结果⇨runmqsci.显示队列管理器属性=> DISPLAY QMGRQMGR是保留字,不要用队列管理器名称代替ii.显示当前队列管理器中以”SYSTEM”开头的所有队列名称=> DISPLAY Q(SYSTEM*)iii.创建一个本地队列,定义中包含文本描述=> DEFINE QL(QL.A) DESCR(‘QL.A Text’)iv.显示该队列的所有属性=> DISPLAY QL(QL.A)v.修改该队列允许的最大消息数为1000=> ALTER QL(QL.A) MAXDEPTH(1000)vi.再次查看该队列属性,看修改是否成功,而队列描述不变=> DISPLAY QL(QL.A)vii.定义第二个本地队列,包含文本描述=> DEFINE QL(QL.B) DESCR(‘QL.B Text’)viii.显示队列QL.B的所有属性=> DISPLAY QL(QL.B)ix.使用带REPLACE的DEFEINE命令而不是用ALTER命令修改队列QL.B 的最大消息数为2000=> DEFINE QL(QL.B) REPLACE +MAXDEPTH(2000)x.查看队列QL.B的所有属性,是否该队列创建成功,描述是什么=> DISPLAY QL(QL.B)5.退出runmqsc模式⇨END步骤三:用包含命令的文件来执行MQ命令6.编辑一个文本文件E1_ST01.txt,包含步骤二中执行的所有命令如下DIS QMGRDIS Q(SYSTEM*)DEF QL(QL.A) DESCR('QL.A Text')DIS QL(QL.A)ALTER QL(QL.A) MAXDEPTH(1000)DIS QL(QL.A)DEF QL(QL.B) DESCR('QL.B Text')DIS QL(QL.B)DEF QL(QL.B) REPLACE +MAXDEPTH(2000)DIS QL(QL.B)7.执行以下命令,并把结果重定向到report文件当中,查看report文件⇨runmqsc < E1_ST01.txt > report步骤四:使用样例程序8.放一个消息到本地队列QL.A⇨amqsput QL.A队列管理器是可选参数,因为QL.A在缺省队列管理器中,所以不需要. amqsput,amqsbcg和amqsget样例位于C:\IBM\WMQ\Tools\c\Samples\Bin9.浏览队列QL.A中的消息,重定向输出到一个文件out以查看结果⇨amqsbcg QL.A >out⇨notepad out队列管理器是可选参数,因为QL.A在缺省队列管理器中,所以不需要10.从队列中取出消息,清空队列⇨amqsget QL.A队列管理器是可选参数,因为QL.A在缺省队列管理器中,所以不需要步骤五:使用别名队列11.创建本地队列QL.A的别名队列QA.A⇨runmqsc⇨DEF QA(QA.A) TARGQ(QL.A)12.限制别名队列的put请求功能=> ALTER QA(QA.A) PUT(DISABLED)13.修改QL.B的属性,限制它的put功能=> ALTER QL(QL.B) PUT(DISABLED)14.创建本地队列QL.B的别名队列QA.B=> DEF QA(QA.B) TARGQ(QL.B)15.尝试用样例程序放消息到本地队列和别名队列中⇨amqsput QL.A⇨amqsput QA.A⇨amqsput QL.B⇨amqsput QA.B可选试验步骤一: 队列操作1.在队列QL.A和QL.B中放入一些消息2.查看这两个队列中的队列深度=> DISPLAY Q(Q*) CURDEPTH3.定义一个新的本地队列QL.X,它具有跟QA.A一样的属性=> DEFINE QLOCAL(QL.X) LIKE(QA.A)4.报错了吗?,那么用QL.A的属性=> DEFINE QLOCAL(QL.X) LIKE(QL.A)5.往队列QL.X中放消息=> amqsput QL.X6.修改QL.A的描述=> ALTER QL(QL.A) DESCR(‘QL.A Text new’)7.显示你创建的所有队列的描述=> DISPLAY Q(Q*) DESCR8.清除队列QL.A=> CLEAR QL(QL.A)9.清除队列QA.A, error???=> CLEAR QA(QA.A)10.删除队列QL.X=> DELETE QL(QL.X)11.如果删除失败,再次删除=> DELETE QL(QL.X) PURGE。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建队列管理器
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’)
ALTER QLOCAL(QNAME) PUT(DISABLED)
ALTER QALIAS(QNAME) TARGQ(TARGQNAME)
删除队列
DELETE QLOCAL(QNAME)
DELETE QREMOTE(QRNAME)
清除队列中的所有消息
CLEAR QLOCAL(QNAME)
常用补充命令
显示队列管理器 dspmq
显示文件名 dspmqfls
启动本地队列管理器 strmqm
结束本地队列管理器 endmqm
启动通道启动进程 runmqchi/runmqchl。