You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过REXX或JCL以编程方式覆盖DCI 2.0策略

如何通过REXX或JCL以编程方式覆盖DCI 2.0策略

嘿,很高兴你自己挖到了CONTROLR命令的线索——这确实是实现你需求的核心!我来帮你把这个思路落地到REXX和JCL里,让你能轻松实现自动化修改LPAR最大MSU的操作。

首先确认下:你提到的/f CONTROLR,POLICY,O,...命令,完全对应zDC面板里的'o'行命令,就是用来临时覆盖DCI策略中的容量设置的,这正是你要找的编程式操作方式。

用JCL实现的简单示例

你可以写一个JCL作业来执行这个MODIFY命令,不需要复杂程序,用IEFBR14作为占位程序就行,核心是在SYSIN里发送控制台命令:

//DCI_MSU_OVERWRITE JOB (YOUR_ACCT),'UPDATE LPAR MSU MAX',CLASS=A,MSGCLASS=X
//UPDATE    EXEC PGM=IEFBR14
//SYSPRINT  DD SYSOUT=*
//SYSIN     DD *
/F CONTROLR,POLICY,O,LPAR=YOUR_TARGET_LPAR,MSUMAX=NEW_MAX_MSU_VALUE
/*
  • 把YOUR_TARGET_LPAR替换成你要修改的LPAR名称
  • NEW_MAX_MSU_VALUE改成你想要设置的最大MSU数值
  • 如果需要修改最小MSU,把MSUMAX换成MSUMIN即可

提交这个作业后,就能完成临时覆盖操作,效果和你在zDC面板手动执行'o'命令完全一致。

用REXX脚本实现(更适合自动化逻辑)

如果你需要加入自定义条件判断(比如根据系统负载、时间窗口来触发修改),REXX会更灵活。下面是一个基础的REXX脚本示例:

/* REXX - DCI LPAR MSU MAX OVERWRITE */
ADDRESS MVS "MODIFY CONTROLR,POLICY,O,LPAR=YOUR_TARGET_LPAR,MSUMAX=NEW_MAX_MSU_VALUE"

IF RC = 0 THEN DO
  SAY "✅ 成功更新LPAR YOUR_TARGET_LPAR的最大MSU为NEW_MAX_MSU_VALUE"
END
ELSE DO
  SAY "❌ 更新失败,返回码RC=" RC
END

EXIT
  • 你可以在脚本里加入条件判断逻辑,比如先通过D COLLECT或其他命令获取系统当前负载,再决定是否执行MSU修改
  • 这个脚本可以通过TSO直接执行,也可以放到JCL里用IKJEFT01运行,方便集成到自动化调度流程中

一些注意事项

  • 权限问题:执行这个操作的用户需要有修改DCI策略的权限,测试前先确认权限足够
  • 临时生效:这个覆盖是临时的,当CONTROLR重启或系统重启后,会恢复到原来的策略设置。如果需要持久化修改,还是要更新DCI的策略文件,但你的动态调整场景用临时覆盖就足够了
  • 测试验证:建议先在非生产环境测试命令和脚本,确保参数正确、效果符合预期

备注:内容来源于stack exchange,提问作者Warwipf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:49:32