如何在USS中从其他卷复制PDS成员?RC(12)报错排查
问题排查与解决方案
错误原因
- 源数据集分配命令语法残缺:末尾缺少闭合双引号,导致TSO命令解析失败,
srcds未成功分配。 - 目标分区数据集(PO)创建缺少必要参数:PDS必须指定
DIR(n)参数(n为目录块数量),否则无法完成数据集创建,dstds分配失败。 - 两个DD均未分配成功,OCOPY执行时触发
IKJ56247I错误,返回码12。
正确操作步骤
方式一:TSO命令+OCOPY
- 分配源数据集(指定特定卷的PDS成员),确保命令语法完整:
tsocmd "allocate file(srcds) dsn('SYS1.PROCLIB(MEMBER1)') unit(3390) volume(AWAY_VOL) SHR" - 创建并分配目标PDS,必须添加
DIR(n)参数(示例用DIR(20),可按需调整目录块数量):tsocmd "allocate file(dstds) dsn('USER.SYS1.PROCLIB') unit(3390) dsorg(PO) recfm(F,B) lrecl(80) block(800) NEW CATALOG DIR(20)" - 执行OCOPY复制成员:
tso "ocopy INDD(srcds) OUTDD(dstds) TEXT"
方式二:USS cp命令(更简洁)
无需手动分配DD,直接用cp命令完成复制:
- 若目标PDS
USER.SYS1.PROCLIB已存在:cp "//'SYS1.PROCLIB(MEMBER1)' volser('AWAY_VOL')" "//'USER.SYS1.PROCLIB(MEMBER1)'" - 若目标PDS不存在,先创建:
tsocmd "allocate dsn('USER.SYS1.PROCLIB') unit(3390) dsorg(PO) recfm(F,B) lrecl(80) block(800) NEW CATALOG DIR(20)"
内容的提问来源于stack exchange,提问作者user187325
相关产品推荐
相关产品推荐

