COPY使用的数据集
“复制”实用程序在运行过程中会使用多个数据集。
下表列出了COPY使用的数据集。 表格中列出了用于识别数据集的DD名称、数据集描述以及是否需要该数据集的说明。 在JCL中为每个所需数据集和任何可选数据集添加语句。
数据集 | 描述 | 是否必需? |
---|---|---|
SYSIN | 输入包含实用程序控制语句的数据集。 | 是 |
SYSPRINT | 消息输出数据集。 | 是 |
DSSPRINT | 在制作并行副本或 FlashCopy® 图像副本时,输出消息数据集。 | 否1 |
过滤 | 在实用程序控制语句中指定FILTERDDN选项时使用的 Db2 在实用程序控制语句中指定FILTERDDN选项时使用。 此数据集包含VSAM数据集名称列表, Db2 ,并在指定 CONCURRENT 和 FILTERDDN 选项时在 COPY 期间使用。 | 否2 |
连续图像复制 | 从1到4个连续输出数据集,包含结果连续格式图像复制数据集。 使用实用程序控制语句中的 COPYDDN 和 RECOVERYDDN 选项指定它们的 DD 名称。 默认情况下,将把一份副本写入SYSCOPY DD语句描述的数据集。 | 是 |
FlashCopy 图像副本 | 对于表格空间或索引空间级别的副本,VSAM数据集用于输出每个分区或片段的 FlashCopy 图像副本。 对于分区级或片级拷贝,VSAM数据集用于输出 FlashCopy 分区或片级图像拷贝。 |
否3 |
注:
|
以下对象在实用程序控制语句中命名,不需要JCL中的DD语句:
- 表空间或索引空间
- 待复制的对象。 (如果您只想复制表空间中的某些数据集,则必须在控制语句中使用 DSNUM 选项。)
- Db2 目录对象
- COPY访问的目录中的对象。 实用程序将每份副本记录在 Db2 目录表 SYSIBM.SYSCOPY 中。
输出数据集大小
顺序图像副本被写入顺序非VSAM数据集。
FlashCopy 图像副本被写入VSAM数据集。
或者,您可以通过执行带有CHANGELIMIT REPORTONLY选项的COPY命令,或者使用以下步骤,以字节为单位找到表空间图像副本数据集的大概大小:
- 在运行RUNSTATS实用程序后,从 SYSIBM.SYSTABLESPACE 的NActiveF列中找到高分配页码,或者从VSAM目录数据集中的信息中找到。
- 将分配的高页码乘以页面大小。
过滤数据集大小
或者,您可以使用以下公式确定所需过滤数据集的大致大小(以字节为单位),其中 n = COPY 控制语句中指定的对象数量:
(240 + (80 * n))
JCL参数
对于顺序格式图像副本的输出数据集,您可以通过在输出数据集的 DD 语句中使用 BLKSIZE 参数来指定块大小。 有效块大小为4096字节的倍数。 您可以使用BUFNO参数增加缓冲区;例如,您可以指定 BUFNO=30 ,这将创建30个缓冲区。
对于通过调用DFSMSdss的并发复制功能或 FlashCopy 功能创建的图像副本的输出数据集,输出数据集所需的规格可能与顺序格式图像副本所需的规格不同。 例如,BUFNO参数不适用于并发图像复制的输出数据集。
图像副本编目
要分类您的图像复制数据集,请在DD语句中使用DISP=(MOD,CATLG,CATLG)参数,或在由COPYDDN选项命名的模板中使用该参数。 图像副本拍摄后,插入到 SYSIBM.SYSCOPY 的行的DSVOLSER列包含空格。
FlashCopy 图像复制数据集始终被编目。 FlashCopy 模板中未指定DISP=参数。 在拍摄图像副本后,除非在指定了“FLASHCOPY CONSISTENT”时从图像副本中撤回了未提交的工作,否则插入到 SYSIBM.SYSCOPY 的行的DSVOLSER列将包含空格。 如果未提交的工作从 FlashCopy 图像副本中退出,则DSVOLSER列包含 Db2 每个成员的检查点信息。
不允许复制图像数据集。 如果 SYSIBM.SYSCOPY 中已存在与新的图像副本数据集同名的已编目数据集,则COPY实用程序会发出消息,不进行复制。
当 RECOVER 找到 SYSCOPY 条目时,它会使用操作系统目录来分配所需的数据集。 如果数据集未编入目录,则分配失败。 在这种情况下,恢复仍然可以继续;RECOVER会搜索之前的图像副本。 但是,即使找到了,在恢复过程中,RECOVER必须使用更多的日志。