ALTER 队列 (改变队列设置)
使用 MQSC ALTER 命令可更改队列的参数。 队列可以是本地队列 (ALTER QLOCAL) ,别名队列 (ALTER QALIAS) ,模型队列 (ALTER QMODEL) ,远程队列,队列管理器别名或应答队列别名 (ALTER QREMOTE)。
使用 MQSC 命令
有关如何使用 MQSC 命令的信息,请参阅 使用 MQSC 命令管理 IBM® MQ。
ALTER 队列命令中未指定的参数会导致这些参数的现有值保持不变。
您可以从源代码 2CR发出此命令。 有关源符号的说明,请参阅 可在 IBM MQ for z/OS®上发出 MQSC 和 PCF 命令的源。
ALTER 队列的语法图
每种类型的通道都有单独的语法图:
ALTER 队列的用法说明
- 成功完成命令并不意味着操作已完成。 要检查是否真正完成,请参阅 检查分布式网络的异步命令是否已完成中的 ALTER 队列 步骤。
ALTER QUEUE 的参数描述
表 1 列出了各类队列的相关参数。 在表后描述了每个参数。
- 队列名称
- 队列的本地名称,远程队列除外,该远程队列是远程队列的本地定义。
- ACCTQ
- 指定是否对队列启用记帐数据收集。 在 z/OS上,收集的数据是类 3 记帐数据 (线程级和队列级记帐)。 为了收集此队列的记帐数据,还必须启用此连接的记帐数据。 通过在 MQCONNX 调用上设置 ACCTQ 队列管理器属性或
MQCNO结构中的选项字段来开启记帐数据收集。- QMGR
- 记帐数据的收集基于队列管理器定义上 ACCTQ 参数的设置。
- ON
- 除非 ACCTQ 队列管理器参数的值为 NONE ,否则队列将启用会计数据收集功能。
- OFF
- 已禁用队列的记帐数据收集。
- BOQNAME(队列名称)
- 过多的回退重排队列名称。
- BOTHRESH(整数)
- 回退阈值。
![[MQ 9.3.1 2022 年 10 月]](ng931.gif)
CAPEXPRY(整数)- 最长时间 (以十分之一秒为单位) ,直到在解析路径中将对象句柄与此对象配合使用的消息变为适合到期处理为止。
重要: You cannot use the CAPEXPRY attribute introduced in IBM MQ 9.3.1 with a cluster if the full repository is on z/OS.有关消息到期处理的更多信息,以及从较低版本的产品迁移时发生的情况,请参阅 强制缩短到期时间。- 整数
- 该值必须在范围 1 到 999 999 999 之间。
- NOLIMIT
- 对于使用此对象放入的消息的到期时间没有限制。 这是缺省值。
CFSTRUCT(结构名)- 指定在使用共享队列时要存储消息的耦合设施结构的名称。
- CLCHNAME(频道名称)
此参数仅在传输队列上受支持。
![[AIX、Linux 和 Windows]](ngalw.gif)
CLUSNL(名称 )- 名称列表的名称,它指定了队列所属的一系列集群。
![[AIX、Linux 和 Windows]](ngalw.gif)
CLUSTER(集群名称)- 队列所属的集群的名称。
- CLWLPRTY(整数)
- 指定队列的优先级以用于集群工作负载分发。 此参数仅对本地,远程和别名队列有效。 该值必须在范围 0 到 9 之间,其中 0 是最低优先级, 9 是最高优先级。 有关此属性的更多信息,请参阅 CLWLPRTY 队列属性。
- CLWLRANK (整数)
- 指定队列的列组以用于集群工作负载分布。 此参数仅对本地,远程和别名队列有效。 该值必须在范围 0 到 9 之间,其中零是最低等级, 9 是最高等级。 有关此属性的更多信息,请参阅 CLWLRANK 队列属性。
- CLWLUSEQ
- 指定当目标队列具有本地实例和至少一个远程集群实例时, MQPUT 操作的行为。 当 MQPUT 源自集群通道时,此参数无效。 此参数仅对本地队列有效。
- QMGR
- 行为由队列管理器定义的 CLWLUSEQ 参数指定。
- ANY
- 队列管理器要将本地队列视为集群队列的另一个实例,以用于工作负载分布。
- LOCAL
- 本地队列是 MQPUT 操作的唯一目标。
CMDSCOPE- 此参数仅适用于 z/OS 。 它指定当队列管理器是队列共享组的成员时命令的运行位置。
- CUSTOM(字符串 )
- 该属性包含属性值,以名称和值对的形式,至少用一个空格隔开。
- DEFBIND
- 指定当应用程序在 MQOPEN 调用上指定
MQOO_BIND_AS_Q_DEF时要使用的绑定,并且该队列是集群队列。- OPEN
- 队列打开时,队列句柄与集群队列的特定实例绑定。
- NOTFIXED
- 队列句柄未绑定到集群队列的任何实例。 当使用 MQPUT放入消息时,队列管理器将选择特定队列实例。 如果需要,它将在以后更改该选择。
- GROUP
- 允许应用程序请求将一组消息分配给同一个目标实例。
- DEFPRESP
- 当 MQPMO 选项中的 put 响应类型设置为
MQPMO_RESPONSE_AS_Q_DEF时,指定应用程序使用的行为。- SYNC
- 将操作放入指定
MQPMO_RESPONSE_AS_Q_DEF的队列中,就像改为指定了MQPMO_SYNC_RESPONSE一样。 - ASYNC
- 将操作放入指定
MQPMO_RESPONSE_AS_Q_DEF的队列中,就像改为指定了MQPMO_ASYNC_RESPONSE一样; 请参阅 MQPMO 选项 (MQLONG)。
- DEFPRTY(整数)
- 放入队列中的消息的缺省优先级。 值必须在 0 - 9 范围内。 零是到 MAXPRTY 队列管理器参数的最低优先级。 MAXPRTY 的缺省值为 9。
- DEFPSIST
- 指定应用程序指定
MQPER_PERSISTENCE_AS_Q_DEF选项时要使用的消息持久性。- NO
- 此队列上的消息在队列管理器重新启动时会丢失。
- YES
- 此队列上的消息在队列管理器重新启动时继续存在。
- DEFREADA
- 指定传递到客户机的非持久消息的缺省预读行为。 启用预读可以提高使用非持久消息的客户机应用程序的性能。
- NO
- 除非将客户机应用程序配置为请求预读,否则不会预读非持久消息。
- YES
- 在应用程序请求非持久消息之前,会将这些消息发送到客户机。 如果客户机异常结束或者如果客户机未删除其发送的所有消息,那么可能会丢失非持久消息。
- DISABLED
- 未对此队列启用非持久消息预读。 无论客户机应用程序是否请求预读,都不会将消息发送到客户机。
- DEFSOPT
- 打开此队列以进行输入的应用程序的缺省共享选项:
- EXCL
- 打开请求用于从队列进行独占输入。
- SHARED
- 打开请求用于从队列进行共享输入。
- DEFTYPE
- 队列定义类型。
- DESCR(字符串 )
- 纯文本注释。 它在操作员发出 DISPLAY QUEUE 命令时提供有关对象的描述性信息。
DISTL- 设置伙伴队列管理器是否支持分发列表。
- YES
- 伙伴队列管理器支持分发列表。
- NO
- 伙伴队列管理器不支持分发列表。
注: 您通常不会更改此参数,因为它是由 MCA 设置的。 但是,如果目标队列管理器的分发列表功能已知,那么可以在定义传输队列时设置此参数。 - FORCE
- 此参数仅适用于别名,本地和远程队列上的 ALTER 命令。
- GET
- 指定是否允许应用程序从此队列获取消息:
- ENABLED
- 可以通过适当的授权应用程序从队列中检索消息。
- DISABLED
- 应用程序不能从队列检索消息。
- HARDENBO 和 NOHARDENBO
- 指定是否固化回退消息的次数。 当已硬化计数时,在 MQGET 操作返回消息之前,会将消息描述符的 BackoutCount 字段的值写入日志。 将该值写入日志可确保该值在队列管理器重新启动时准确无误。
IMGRCOVQ- 指定如果正在使用线性日志记录,那么是从介质映像恢复本地动态队列对象还是永久动态队列对象。 可能的值为:
- YES
- 这些队列对象可恢复。
- 否
- 这些对象不允许使用 rcdmqimg(记录媒体图像) 和 rcrmqobj (重新创建对象) 命令,而且如果启用了自动媒体图像,也不会为这些对象写入自动媒体图像。
- QMGR
- 如果指定 QMGR ,并且队列管理器的 IMGRCOVQ 属性指定 YES ,这些队列对象是可以恢复的。
INDXTYPE- 队列管理器为加速队列上的 MQGET 操作而维护的索引类型。 对于共享队列,索引类型确定可以使用的 MQGET 操作的类型。
- INITQ(字符串 )
- 此队列管理器上与此队列相关的触发器消息写入的启动队列的局部名。 请参阅 用于命名 IBM MQ 对象的规则。
- LIKE(qtype-name )
- 队列的名称,带有用于对此定义建模的参数。
![[AIX、Linux 和 Windows]](ngalw.gif)
MAXDEPTH(整数)- 队列上允许的最大消息数。
MAXFSIZE- 队列文件可增长到的最大大小 (以兆字节为单位)。 如果将值配置为低于当前队列文件大小,那么队列文件可能会超过此大小。
- MAXMSGL(整数)
- 此队列上消息的最大长度 (以字节计)。
- MONQ
- 控制队列联机监视数据的收集。
- MSGDLVSQ
- 消息传递顺序。
NPMCLASS- 要分配给放入队列的非持久消息的可靠性级别:
- NORMAL
- 发生故障或队列管理器关闭后,将丢失非持久消息。 在队列管理器重新启动时,将废弃这些消息。
- HIGH
- 队列管理器尝试通过队列管理器重新启动或切换来保留此队列上的非持久消息。
- PROCESS(字符串 )
- IBM MQ 进程的本地名称。
- PROPCTL
- 属性控制属性。 此属性是可选的。 它适用于本地队列,别名队列和模型队列。注: 如果应用程序正在打开别名队列,那么必须在别名队列和目标队列上都设置此值。
- PUT
- 指定是否可在队列中放入消息。
- ENABLED
- 可以将消息添加到队列 (通过适当的授权应用程序)。
- DISABLED
- 不能向队列添加消息。
- QDEPTHHI(整数)
- 用于比较队列深度以生成 "队列深度上限" 事件的阈值。
- QDEPTHLO(整数)
- 将队列深度与之进行比较以生成 "队列深度下限" 事件的阈值。
- QDPHIEV
- 控制是否生成 "队列深度高" 事件。
- QDPLOEV
- 控制是否生成 "队列深度下限" 事件。
- QDPMAXEV
- 控制是否生成 "队列已满" 事件。
QSGDISP- 此参数仅适用于 z/OS 。
- QSVCIEV
- 控制是生成 "服务时间间隔高" 还是 "服务时间间隔正常" 事件。
- QSVCINT(整数)
- 用于比较以生成 "服务时间间隔高" 和 "服务时间间隔正常" 事件的服务时间间隔。
- RETINTVL(整数)
- 从定义队列开始的小时数,在此之后不再需要该队列。 该值必须在 0-999,999,999 范围内。
- RNAME(字符串 )
- 远程队列的名称。 此参数是由 RQMNAME指定的队列管理器上定义的队列的局部名。
- RQMNAME(字符串 )
- 定义了队列 RNAME 的远程队列管理器的名称。
SCOPE- 指定队列定义的作用域。
- 指定多个应用程序是否可以从此队列获取消息。
![[MQ 9.3.0 2022 年 7 月]](ng930cd.gif)
STATQ- 指定是否启用统计数据收集:
- QMGR
- 统计信息数据收集基于队列管理器的 STATQ 参数的设置。
- ON
- 如果队列管理器的 STATQ 参数值不是 NONE ,则会启用队列的统计数据收集功能。
- OFF
- 已禁用队列的统计信息数据收集。
STGCLASS(字符串 )- 存储类的名称。
STREAMQ- 放置每条消息副本的辅助队列的名称。
STRMQOS- 将消息传递到流式队列时要使用的服务质量。
- TARGET(字符串 )
- 要对其进行别名的队列或主题对象的名称; 请参阅 用于命名 IBM MQ 对象的规则。 对象可以是由 TARGTYPE定义的队列或主题。 最大长度为 48 个字符。
- TARGTYPE(字符串 )
- 别名解析为的对象的类型。
- QUEUE (缺省值)
- 别名解析为队列。
- TOPIC
- 别名解析为主题。
- TRIGDATA(字符串 )
- 在触发器消息中插入的数据。 字符串的最大长度为 64 个字节。
- TRIGDPTH(整数)
- 如果 TRIGTYPE 为 DEPTH ,在写入触发报文之前队列中必须有的报文数。 该值必须在 1-999,999,999 范围内。 缺省值为
1。 - TRIGGER 和 NOTRIGGER
- 指定是否将触发器消息写入由 INITQ 参数指定的启动队列,以触发由 PROCESS 参数指定的应用程序:
- TRIGGER
- 触发处于活动状态,触发器消息将写入启动队列。
- NOTRIGGER
- 触发未处于活动状态,并且触发器消息未写入启动队列。 这是缺省值。
此参数仅在本地队列和模型队列上才受支持。
- TRIGMPRI(整数)
- 触发此队列的消息优先级号。 该值范围必须从 0 到 MAXPRTY 队列管理器参数;详情请参见 DISPLAY QMGR(显示队列管理器设置)。 缺省值为零。
- TRIGTYPE
- 指定是否以及在什么条件下将触发器消息写入启动队列。 启动队列 (由 INITQ 参数指定)。
- USAGE
- 队列使用情况。
- XMITQ(字符串 )
- 要用于将消息转发到远程队列的传输队列的名称。 XMITQ 与远程队列或队列管理器别名定义配合使用。

![[长期支持]](nglts.gif)
![[IBM i]](ngibmi.gif)