IBM MQ实际工作常用知识点

IBM MQ实际工作常用知识点

最近的工作内容有些变化,开始接触了IBM MQ大概一个月时间,这一个月来一些总结如下,欢迎大家来批评指正,一些常见问题和坑点我也会及时补充在之后的时间里。共勉。新年快乐!

 

IBM MQ基本操作

 

配置:

 

第一部分:队列管理器

 

本例中BAASDEC_RDMRCVS_GW为队列管理器名

 

1)创建队列管理器:

 

crtmqm BAASDEC_RDMRCVS_GW

 

或者是 crtmqm -q BAASDEC_RDMRCVS_GW(-q是指创建缺省的队列管理器)

 

或者是 crtmqm -lc -lf 100 -lp 3 -ls 3 BAASDEC_RDMRCVS_GW

解释下:

-lc 是采用循环日志

-lf 是每块日志的大小,4k为单位的,100就是100*4k

-lp 是主逻辑日志的数量

-ls 是辅逻辑日志的数量

 

2)删除队列管理器

 

dltmqm BAASDEC_RDMRCVS_GW

 

3)启动队列管理器

 

strmqm BAASDEC_RDMRCVS_GW

 

4)停止队列管理器

 

4-1)受控停止

 

endmqm BAASDEC_RDMRCVS_GW

 

4-2)立即停止

 

endmqm -i BAASDEC_RDMRCVS_GW

 

4-3)强制停止

 

endmqm -p BAASDEC_RDMRCVS_GW

 

5)显示队列管理器

 

dspmq -m BAASDEC_RDMRCVS_GW

 

6)运行队列管理器

 

runmqsc BAASDEC_RDMRCVS_GW

 

第二部分:队列

 

1)本地队列

 

创建:

 

DEFINE QLOCAL (BAASDEC_RDMRCVS_TRA) USAGE (XMITQ) DEFPSIST(YES) MAXDEPTH(100000) TRIGGER TRIGTYPE(FIRST) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(BAASDEC.RDMRCVS.CHL) REPLACE

 

参数介绍:

 

QLOCAL (BAASDEC_RDMRCVS_TRA) :BAASDEC_RDMRCVS_TRA为传输队列名称;

 

USAGE (XMITQ):定义该队列为传输队列

 

(参数详解:USAGE

 

如果是NORMAL代表的是本地队列

 

如果是XMITQ代表的是传输队列);

 

DEFPSIST(YES):队列上的消息在队列管理器重新启动时保存了下来

 

(参数详解:DEFPSIST:队列中消息持久性默认值。

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

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

 

MAXDEPTH(100000):队列上允许的最大消息数为100000;

 

TRIGTYPE(FIRST):触发类型第一条消息触发,有第一条消息之后开始创建队列

 

INITQ(SYSTEM.CHANNEL.INITQ) :初始队列为SYSTEM.CHANNEL.INITQ

 

TRIGDATA(BAASDEC.RDMRCVS.CHL) :触发数据,也就是触发后要启动的通道为BAASDEC.RDMRCVS.CHL

 

其中:DEFINE可以缩写为DEF,QLOCAL可以缩写为QL。

 

删除:

 

DELETE QLOCAL (BAASDEC_RDMRCVS_TRA)

 

2)远程队列

 

创建:

 

DEFINE QREMOTE (BAASDEC_RDMRCVS_REMOTEQ) RNAME (RDMRCVS.RECV.BAASDEC.QUEUE) RQMNAME (RDMRCVS.CLUSTER) XMITQ (BAASDEC_RDMRCVS_TRA) CLUSTER (BAASDEC) REPLACE

 

参数介绍:

 

QREMOTE (BAASDEC_RDMRCVS_REMOTEQ):发送方远程队列名称BAASDEC_RDMRCVS_REMOTEQ;

 

RNAME (RDMRCVS.RECV.BAASDEC.QUEUE):接收方的本地接收队列名RDMRCVS.RECV.BAASDEC.QUEUE,这个需要和对手系统确认好,这个就是对方系统配置的本地队列名;

 

RQMNAME (RDMRCVS.CLUSTER):接收方队列管理器名,RDMRCVS.CLUSTER;

 

XMITQ (BAASDEC_RDMRCVS_TRA):发送方传输队列名,传输队列BAASDEC_RDMRCVS_TRA;

 

CLUSTER (BAASDEC):所属的集群为BAASDEC。

 

其中:DEFINE可以缩写为DEF,QREMOTE 可以缩写为QL。

 

注意:RNAME 与对方本地队列名相同是需要一样的,否则消息无法发送出去。

 

3)死信队列:

 

定义一个死信队列DEADQ

 

DEFINE QLOCAL(DEADQ)MAXDEPTH(290000) DEFPSIST(YES) REPLACE

 

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

 

ALTER QMGR DEADQ(DEADQ)

 

第三部分:通道

 

通道的一些属性:

 

发送通道:CHLTYPE (SDR)

 

接收通道:CHLTYPE (RCVR)

 

群集发送通道:CHLTYPE (CLUSSDR)

 

群集接收通道:CHLTYPE (CLUSRCVR)

 

MQI连接服务器通道:CHLTYPE (SVRCONN)

 

1)发送通道

 

DEFINE CHANNEL() CHLTYPE(SDR) TRPTYPE (TCP) DISCINT(0) CONNAME('22.188.183.244(1817)') XMITQ (BAASDEC_RDMRCVS_TRA) REPLACE

 

参数介绍:

 

CHANNEL(BAASDEC.RDMRCVS.CHL):发送通道名为BAASDEC.RDMRCVS.CHL;

 

CHLTYPE(SDR):CHLTYPE设置通道类型,发送通道;

 

TRPTYPE (TCP):TRPTYPE 设置通讯协议,TCP;

 

DISCINT(0) :DISCINT设置通道停止时间间隔(0为永不停止);

 

CONNAME('22.188.XXX.XXX(1X1X)'):连接地址为22.188.XXX.XXX(1X1X);

 

XMITQ (BAASDEC_RDMRCVS_TRA):传输队列名称为BAASDEC_RDMRCVS_TRA。

 

2)接收通道:

 

DEFINE CHANNEL (RDMRCVS.BAASDEC.CHL) CHLTYPE (RCVR) TRPTYPE(TCP) REPLACE

 

参数介绍:

 

CHANNEL (RDMRCVS.BAASDEC.CHL):接收通道名为RDMRCVS.BAASDEC.CHL,通常和发送通道的名称互换一下部分内容。

 

CHLTYPE (RCVR):接收通道。

 

3)群集发送通道:

 

如果涉及集群的话

 

DEFINE CHANNEL(TO.BAASDEC_QM2) CHLTYPE(CLUSSDR) TRPTYPE(TCP) DISCINT(0) CONNAME('22.188.XXX.XXX(5X4X)') CLUSTER (BAASDEC) REPLACE

 

参数含义同上

 

4)群集接收通道:

 

如果涉及集群的话

 

DEFINE CHANNEL(TO.BAASDEC_GW) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) DISCINT(0) CONNAME('22.188.XXX.XXX(4X0X)') CLUSTER (BAASDEC) REPLACE

 

参数含义同上

 

5)MQ连接服务器通道

 

DEFINE CHANNEL(BAASDEC_CVS_SVRCONN) CHLTYPE(SVRCONN) REPLACE

 

定义服务器连接通道BAASDEC_CVS_SVRCONN,该通道的用途是供应用程序连接的,应用程序通过服务器连接通道从而连接MQ。

 

第四部分:监听器

 

监听器是用于监听外界对队列管理器的连接的程序,就是对方MQ管理器来探测,本地要给对方一个回应,监听器就是起这个作用的。

 

1)创建监听器LSNRPMTS_BAAS

 

DEFINE LISTENER(LSNRPMTS_BAAS) TRPTYPE(TCP) PORT(4001) BACKLOG(0) CONTROL(QMGR) REPLACE

 

参数介绍:

 

LISTENER(LSNRPMTS_BAAS):监听器的名称为LSNRPMTS_BAAS,这个在一众队列管理器中创建一个就好。但是这些队列管理器的端口不能一样;

 

TRPTYPE(TCP):传输协议类型为TCP;

 

PORT(4001):端口号为4001;

 

BACKLOG(0):侦听器支持的最大并发连接请求数,需要根据实际情况来确定;

 

CONTROL(QMGR):启动/停止控制方式为QMGR

 

(参数详情:

 

MANUAL:手动启动/停止

 

OMGR:随QM启动/停止

 

STARTONLY:随QM启动,不随其停止)

 

2)启动监听器

 

START LISTENER(LSNRPMTS_BAAS)

 

MQ配置实例:

 

crtmqm BAASDEC_RDMRCVS_GW

 

strmqm BAASDEC_RDMRCVS_GW

 

runmqsc BAASDEC_RDMRCVS_GW

 

ALTER QMGR CHLAUTH(DISABLED)

 

ALTER QMGR CONNAUTH(' ')

 

ALTER QMGR CLWLUSEQ(ANY)

 

ALTER QMGR CCSID(1208)

 

ALTER QMGR REPOS (BAASDEC)

 

REFRESH SECURITY TYPE(CONNAUTH)

 

DEFINE CHANNEL(BAASDEC_CVS_SVRCONN) CHLTYPE(SVRCONN) REPLACE

 

DEF LISTENER(LSNRPMTS_BAAS) TRPTYPE(TCP) PORT(4001) BACKLOG(0) CONTROL(QMGR) REPLACE

 

START LISTENER(LSNRPMTS_BAAS)

 

DEFINE CHANNEL (RDMRCVS.BAASDEC.CHL) CHLTYPE (RCVR) TRPTYPE(TCP) REPLACE

 

DEFINE QREMOTE (QMBAASDEC_CVS.CLUSTER) RNAME (' ') RQMNAME (' ') REPLACE

 

DEFINE CHANNEL(TO.BAASDEC_QM1) CHLTYPE(CLUSSDR) TRPTYPE(TCP) DISCINT(0) CONNAME('22.188.XXX.XXX(5X3X)') CLUSTER (BAASDEC) REPLACE

 

DEFINE CHANNEL(TO.BAASDEC_QM2) CHLTYPE(CLUSSDR) TRPTYPE(TCP) DISCINT(0) CONNAME('22.188.XXX.XXX(5X4X)') CLUSTER (BAASDEC) REPLACE

 

DEFINE CHANNEL(BAASDEC.RDMRCVS.CHL) CHLTYPE(SDR) TRPTYPE (TCP) DISCINT(0) CONNAME('22.188.XXX.XXX(1X1X)') XMITQ (BAASDEC_RDMRCVS_TRA) REPLACE

 

DEFINE CHANNEL(TO.BAASDEC_GW) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) DISCINT(0) CONNAME('22.188.XXX.XXX(4X0X)') CLUSTER (BAASDEC) REPLACE

 

DEFINE QREMOTE (BAASDEC_RDMRCVS_REMOTEQ) RNAME (RDMRCVS.RECV.BAASDEC.QUEUE) RQMNAME (RDMRCVS.CLUSTER) XMITQ (BAASDEC_RDMRCVS_TRA) CLUSTER (BAASDEC) REPLACE

 

DEFINE QLOCAL (BAASDEC_RDMRCVS_TRA) USAGE (XMITQ) DEFPSIST(YES) MAXDEPTH(100000) TRIGGER TRIGTYPE(FIRST) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(BAASDEC.RDMRCVS.CHL) REPLACE

 

start channel(BAASDEC.RDMRCVS.CHL)

 

DEF QL(DEADQ) MAXDEPTH(290000) DEFPSIST(yes) REPLACE

 

ALTER QMGR DEADQ(DEADQ)

 

ALTER CHL(BAASDEC_CVS_SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')

 

 

 

查询:

 

1)dis qmgr或 dis qmgr all

 

显示队列管理器的全信息。

 

2)dis qmgr ccsid

 

显示队列管理器的部分属性信息。

 

3)dis q(*)

 

显示某个队列管理器下的全部队列。

 

4)dis q(*) all

 

显示某个队列管理器下的全部队列的全部信息。

 

5)dis ql(*) 和dis ql(*) all

 

显示某个队列管理器下的全部本地队列(的全部信息)。

 

6)dis qr(*) 和dis qr(*) all

 

显示某个队列管理器下的全部远程队列(的全部信息)。

 

7)dis q(name)

 

显示某个特定队列的全部信息。

 

8)dis q(name) CURDEPTH

 

显示某个特定队列的特定属性信息。

 

9)dis chl(*)

 

显示某个队列管理器下的通道信息。

 

10)dis chs(*)

 

显示某个队列管理器下的通道状态信息。

 

11)dis chs(name) curseqno

 

显示某个队列管理器下的某个通道的某个属性信息。

 

 

 

修改:

 

这块用来修改一些配置,知道特定的语法格式就好了

 

1)alter qmgr ccsid(1381)

 

将队列管理器的ccsid改成1381

 

2)alter ql(name) get (ENABLED)

将该队列管理器下的本地队列的get参数改为ENABLED。

 

 

 

概念:

 

1)通用:

 

队列管理器:简单的说就是一个大容器的管理员,这个大容器里放了很多东西。

队列:大容器里的东西,存放消息的盒子。

通道:大容器和大容器之间,程序和容器之间进行通讯的途径。

 

2)CCSID:

 

CCSID是一个涉及消息转换的字符集。作为unicode标准通过定义一个字符集内每个字符要对应那个数字值的方式定义了一个字符集。这说明CCSID就是一个定义字符集顺序的标识数码罢了。CCSID是IBM用来标识字符序列的标识代码。这个架构定义了SDCS(单字符集)的CCSID值,MBCS(多字符集)的CCSID值和混合单字符多字符集的混合CCSID值。多字符集的CCSID一般用于语言,比如中文,日文,韩文,这些语言的字符量很大,无法用单字节的码值来代表。

    CCSID间的转换有多种类型。其中一种转换就是从一种CCSID到另一种CCSID的转换,举例来说从ASCII(CCSID 1252)到EBCDIC(CCSID 37)。另一种是从串数据到另一种数据类型的转换。举例来说转换字符串数据到数值。在所有的这种类型的转换中都必须标识CCSID值来保证转换的正确进行。但是转换是有要求的,第一种转换的前提是转到的CCSID的类型中要包含转换前的CCSID类型中要转换的字符,比如,如果从CCSID1381(S-CHGBPC-DATA)类型的简体中文的PC编码中的一个中文字符"中"字到其他CCSID编码转换到的编码起码要求这个CCSID编码的字符集中包含同样的"中"字。WebSphere MQ 无法将 CCSID 1381 中标记的字符串数据转换为 CCSID 5488 中的数据。1381属于简体中文,5488属于GB18030,虽然都是中文,但是在语言集上是两个不相同的语言集,所以不能相互转换。实际上GB18030包含了简体中文,繁体中文以及几种少数民族的语言,后面两种字符都是在简体中文集中找不到对应映射的,所以不能转换。有一种可行的解决办法就是用UTF-8(1208)作为两种语言集的中介。

 

Linux下的MQ默认字符集是819。

 

Windows下的MQ默认字符集是1381。

 

3)MAXMSGL:消息大小

队列管理器MAXMSGL,默认值:4M,可以调整范围:32K - 100M;

通道MAXMSGL,默认值:4M,可以调整范围:0-队列管理器MAXMSGL;

队列MAXMSGL,默认值:4M,可以调整范围:0-队列管理器MAXMSGL;

 

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

 

 

 

运维:

 

对于消息队列来说运维主要就是看有没有通,能不能发报文。

 

1)检查网络:

 

如果是服务器之间的通信,需要首先看一下服务器之间的网络是否正常,如果网络不通的话是肯定没法发消息的,会报错2538。

 

2)检查配置

 

情况1:

 

无法将消息数据放到队列中

    一般这种情况应该大部分是远程队列中的传输队列那个参数配置的不正确,还有可能是队列的允许放入这个参数设置成了禁止或是队列堵塞了。检查队列属性的CURDEPTH达到MAXDEPTH值,如果CURDEPTH达到MAXDEPTH,表明队列深度已经达到最大值,这样就导致新的消息数据无法放入。

 

display queue(队列名) maxdepth curdepth

 

检查队列属性PUT是否为ENABLED,如果不是则说明队列不允许放入消息,可以用下面命令修改

 

alter qlocal(q_name) get (ENABLED)

 

情况2:

 

发送通道和接收通道的状态不是running

 

第一步:首先说明,如果长时间没有消息传输,通道的状态会变成不活动状态,这是正常现象。如果你手动启动通道后,通道状态还不是running,那先查看错误日志(两边的队列管理器都要查看)

 

对于查看错误日志:

 

如果进入到死信队列里:

 

/var/mqm/qmgrs/队列管理器名/errors可以看

 

查看死信队列里的报文:

 

/opt/mqm/samp/bin/amqsbcg DEADQ 队列管理器名

 

(/opt/mqm/samp/bin/amqsbcg是查看,不从队列里取出消息)

 

第二步:首先检查网络是否正常

 

我们可以执行mq中的一个命令来查看通道是不是正常

runmqsc 队列管理器名

ping chl(队列名)

ping操作来查看两边的通道是不是正常,如果正常会返回ping完成。

 

第三步:

 

停止通道,然后复位两端通道 RESET CHANNEL(channel_name) [ SEQNUM( 1 | integer) ]。复位完成后,启动通道。

如果还是不行,可以执行RESOLVE CHANNEL(channel_name) ACTION (BACKOUT)进行回退,ACTION有两个参数 BACKOUT和Commit, BACKOUT 将把可疑消息恢复到传输队列,而Commit将丢弃可疑消息。通常选择使用BACKOUT。

 

stop chl(队列名)

resolve chl(队列名) action(commit)

reset chl(队列名) seqnum(1)

 

以上的原因:可能是发送接收队列的消息序列号不一致。如果不一致做一下reset操作。

还有可能是上一批消息没有提交。可以做一个resolve操作。

 

3)查看队列和通道是否可以传输数据

 

如果有时候检查了之后不确定通道有没有好,可以通过以下来测试

 

首先dis chs(发送队列名),查看一下CURSEQNO的数值

 

然后使用$/opt/mqm/samp/bin/amqsput 远程队列名 队列管理器

 

发几个数,然后继续看dis chs(发送队列名) CURSEQNO是否增长,如果增长则说明通道是通的。

 

然后再看dis q(传输队列) CURDEPTH是否为0,如果为0表示消息发出了,如果不为0表示有消息积压。

 

 

 

附件:常用MQ指令

 

一、MQ命令集合

MQ命令集合有三种命令:控制命令、MQSC(MQ脚本命令)和PCF(Programmable Command Formats,可编程的命令格式)。

 

二、控制命令

控制命令:用于管理 WebSphere MQ的系统配置,包括队列管理器、侦听器、通道、日志的管理。

例如:创建队列管理器(crtmqm),启动队列管理器(strmqm),启动用于运行队列管理器MQSC命令的控制台(runmqsc)、运行通道(runmqchl)

对于Linux,WebSphere MQ 控制命令都从 shell输入和执行。

 

控制命令列表如下所示:

addmqinf(添加配置信息)

amqccert(检查证书链)

amqmdain(WebSphere MQ 服务控制)

amqmfsck(文件系统检查)

amqtcert(传送证书)

crtmqcvx(数据转换)

crtmqm(创建队列管理器)

dltmqm(删除队列管理器)

dmpmqaut(转储权限)

dmpmqlog(转储日志)

dspmq(显示队列管理器)

dspmqaut(显示权限)

dspmqcsv(显示命令服务器)

dspmqfls(显示文件)

dspmqinf(显示配置信息)

dspmqrte(WebSphere MQ 显示路由应用程序)

dspmqtrc(显示格式化的跟踪输出)

dspmqtrn(显示事务)

dspmqver(显示版本信息)

endmqcsv(结束命令服务器)

endmqlsr(结束侦听器)

endmqdnm(停止 .NET 监视器)

endmqm(结束队列管理器)

endmqtrc(结束跟踪)

migmbbrk(迁移发布/预订信息)

mqftapp(运行文件传输应用程序 GUI)

mqftrcv(在服务器上接收文件)

mqftrcvc(在客户机上接收文件)

mqftsnd(从服务器发送文件)

mqftsndc(从客户机发送文件)

rcdmqimg(记录介质映像)

rcrmqobj(重新创建对象)

rmvmqinf(除去配置信息)

rsvmqtrn(解决事务)

runmqchi(运行通道启动程序)

runmqchl(运行通道)

runmqdlq(运行死信队列处理程序)

runmqdnm(运行 .NET 监视器)

runmqlsr(运行侦听器)

runmqsc(运行 MQSC 命令)

runmqtmc(启动客户机触发器监视器)

runmqtrm(启动触发器监视器)

setmqaut(授予或撤销权限)

setmqcrl(设置证书撤销列表 (CRL) LDAP 服务器定义)

setmqprd(登记生产许可证)

setmqscp(设置服务连接点)

strmqcfg(启动 WebSphere MQ 资源管理器)

strmqcsv(启动命令服务器)

strmqm(启动队列管理器)

strmqtrc(启动跟踪)

 

三、MQSC

MQSC全称为MQ Script Command,MQ脚本命令

MQSC用于管理队列管理器对象,包括队列管理器本身、通道、队列、侦听器和进程定义。 

对于Linux,若要执行MQSC,则需要启动脚本命令控制台;启动方式:在shell执行控制命令runmqsc

WebSphere MQ V7.0 的MQSC列表如下所示:

ALTER AUTHINFO

ALTER BUFFPOOL

ALTER CFSTRUCT

ALTER CHANNEL

ALTER LISTENER

ALTER NAMELIST

ALTER PROCESS

ALTER PSID

ALTER QMGR

ALTER 队列

ALTER SECURITY

ALTER SERVICE

ALTER STGCLASS

ALTER SUB

ALTER TOPIC

ALTER TRACE

ARCHIVE LOG

BACKUP CFSTRUCT

CLEAR QLOCAL

CLEAR TOPICSTR

DEFINE AUTHINFO

DEFINE BUFFPOOL

DEFINE CFSTRUCT

DEFINE CHANNEL

DEFINE LISTENER

DEFINE LOG

DEFINE MAXSMSGS

DEFINE NAMELIST

DEFINE PROCESS

DEFINE PSID

DEFINE QUEUES

DEFINE SERVICE

DEFINE STGCLASS

DEFINE SUB

DEFINE TOPIC

DELETE AUTHINFO

DELETE BUFFPOOL

DELETE CFSTRUCT

DELETE CHANNEL

DELETE LISTENER

DELETE NAMELIST

DELETE PROCESS

DELETE PSID

DELETE QUEUES

DELETE SERVICE

DELETE SUB

DELETE STGCLASS

DELETE TOPIC

DISPLAY ARCHIVE

DISPLAY AUTHINFO

DISPLAY CFSTATUS

DISPLAY CFSTRUCT

DISPLAY CHANNEL

DISPLAY CHINIT

DISPLAY CHSTATUS

DISPLAY CLUSQMGR

DISPLAY CMDSERV

DISPLAY CONN

DISPLAY GROUP

DISPLAY LISTENER

DISPLAY LOG

DISPLAY LSSTATUS

DISPLAY MAXSMSGS

DISPLAY NAMELIST

DISPLAY PROCESS

DISPLAY PUBSUB

DISPLAY QMGR

DISPLAY QMSTATUS

DISPLAY QSTATUS

DISPLAY QUEUE

DISPLAY SBSTATUS

DISPLAY SECURITY

DISPLAY SERVICE

DISPLAY STGCLASS

DISPLAY SUB

DISPLAY SVSTATUS

DISPLAY SYSTEM

DISPLAY THREAD

DISPLAY TOPIC

DISPLAY TPSTATUS

DISPLAY TRACE

DISPLAY USAGE

MOVE QLOCAL

PING CHANNEL

PING QMGR

RECOVER BSDS

RECOVER CFSTRUCT

REFRESH CLUSTER

REFRESH QMGR

REFRESH SECURITY

RESET CHANNEL

RESET CLUSTER

RESET QMGR

RESET QSTATS

RESET TPIPE

RESOLVE CHANNEL

RESOLVE INDOUBT

RESUME QMGR

RVERIFY SECURITY

SET ARCHIVE

SET LOG

SET SYSTEM

START CHANNEL

START CHINIT

START CMDSERV

START LISTENER

START QMGR

START SERVICE

START TRACE

STOP CHANNEL

STOP CHINIT

STOP CMDSERV

STOP CONN

STOP LISTENER

STOP QMGR

STOP SERVICE

STOP TRACE

SUSPEND QMGR

 

https://www.cnblogs.com/zhuozige/p/17015682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值