数据集命名约定
定义数据集时,必须使用正确的格式命名。
数据集的名称采用以下格式:
catname.DSNDBx.dbname.psname.y0001.znnn
- catalog-name
- 目录名称或别名。
数据集是VSAM线性数据集,在集成目录工具目录中编目, 目录名称为 有关目录名称值的更多信息,请参阅 SQL中的命名约定。
此处使用的名称或别名应与CREATE TABLESPACE和CREATE INDEX语句中的USING VCAT子句中的名称或别名相同。
- x
- C(VSAM集群)或D(VSAM数据组件)。
- dbname
- Db2 数据库名称。 如果数据集用于表空间, 则dbname 必须为CREATE TABLESPACE语句中指定的名称。 如果数据集用于索引,则 dbname 必须是包含基本表的数据库名称。 如果您使用的是默认数据库,则 dbname 必须为 DSNDB04。
- psname
- 表格空间名称或索引名称。 此名称在数据库中必须是唯一的。
您在CREATE TABLESPACE或CREATE INDEX语句中使用此名称。 (在CREATE INDEX语句中,您可以使用超过八个字符的名称,但该名称的前八个字符必须与该数据集的 psname 中的名称相同。)
- y0001
- 数据集的实例限定符。
如果您打算运行以下任意实用程序,请定义两个数据集,一个数据集的值为I,用于 y ,另一个数据集的值为J,用于 y :
加载 替换 共享层 参考
- 具有SHRLEVEL CHANGE或SHRLEVEL REFERENCE的REORG
- 使用SHRLEVEL参考检查数据
- 使用SHRLEVEL REFERENCE检查索引
- 检查带有SHRLEVEL参考的LOB
否则,为表空间或索引定义一个数据集, 其中y 的值为I。
提示: 交换前后克隆表的实例编号: 在克隆关系中,对象(表和索引)的底层VSAM数据集名称中的实例编号在1-2之间切换。 例如,假设存在一个数据集名为 *I0001.* 的基表。 当表格被克隆时,克隆的数据集最初被命名为 *.I0002.*。 交换后,基础对象被命名为 *.I0002。* 克隆车的名字是 *I0001. *. 每次交换时,表示基础对象和克隆对象的实例编号都会发生变化。 - znnn
- 数据集编号。 数据集编号的第一个数字 z 用字母A、B、C、D或E表示,分别对应分区编号的第一个数字0、1、2、3或4。
对于分区表空间,如果分区编号小于1000,则数据集编号为数据集名称中的 Annn (例如, A999 表示分区999)。 对于分区1000到1999,数据集编号为 Bnnn (例如, B000 代表分区1000)。 对于分区2000至2999,数据集编号为 Cnnn。 对于分区3000至3999,数据集编号为 Dnnn。 分区4000至4096,数据集编号为 Ennn。
为分区索引定义的数据集的命名约定与其他分区对象的命名约定相同。
对于简单或分段(非UTS)表格空间,第一个数据集的编号为001(前缀为A)。 当可用空间不足时, Db2 会发出警告信息。 如果简单或分段(非 UTS)表空间的数据集大小接近最大限制,请定义另一个数据集,其名称与第一个数据集相同,编号为 002。 下一个数据集是003,以此类推。
在分区或非分区表空间达到大小限制之前,数据集可能会达到 VSAM 范围限制。 如果发生这种情况, Db2 不会扩展数据集。