データ・セット命名規則

データ・セットを定義するときには、正しいフォーマットで名前を付ける必要があります。

データ・セットの名前の形式は次のとおりです。

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 ステートメントでは、8 文字より長い名前を使用することができますが、その名前の最初の 8 文字は、データ・セットの psname のと同じである必要があります。)

y0001
データ・セットのインスタンス修飾子。

以下のいずれかのユーティリティーを実行する予定の場合、2 つのデータ・セットを定義します。1 つのは、y の値が I のデータ・セットで、もう 1 つは y の値が J でのデータ・セットです。

  • 変更の開始LOAD REPLACE SHRLEVEL REFERENCE変更の終わり
  • SHRLEVEL CHANGE または SHRLEVEL REFERENCE を指定した REORG
  • SHRLEVEL REFERENCE を指定した CHECK DATA
  • SHRLEVEL REFERENCE を指定した CHECK INDEX
  • SHRLEVEL REFERENCE を指定した CHECK LOB

それ以外の場合は、y の値が I の表スペースまたは索引に 1 つのデータ・セットを定義します。

ヒント: 交換前と交換後のクローンテーブルのインスタンス番号: クローン関係にあるオブジェクト(テーブルおよびインデックス)の基礎となる VSAM データセット名のインスタンス番号は、1~2 の範囲で切り替わります。 例えば、データセット名 *I0001.* でベーステーブルが存在するとします。 テーブルが複製されると、複製のデータ セットには最初に *.I0002.* という名前が付けられます。 交換後、ベースオブジェクトは *.I0002.* という名前になります クローンは *I0001.*. という名前です。 交換が行われるたびに、ベースオブジェクトとクローンオブジェクトを表すインスタンス番号が変更されます。
znnn
データ・セット番号。 データ・セット番号の 1 桁目の 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 です。

パーティション化索引用として定義するデータ・セットの命名規則は、他のパーティション化オブジェクトの命名規則と同じです。

SIMPLE 表スペースまたはセグメント化 (非 UTS) 表スペースの場合、最初のデータ・セットの番号は 001 (Aが前に付く) です。 使用可能なスペースがほとんどない場合、Db2は警告メッセージを出します。 SIMPLE 表スペースまたはセグメント化 (非 UTS) 表スペースのデータ・セットのサイズが最大限度に近づいた場合、最初のデータ・セットと同じ名前を持つ別のデータ・セットを定義し、番号 002 を指定します。 次のデータ・セットは 003 になり、以下同様です。

パーティション化表スペースまたは非パーティション化表スペースのサイズ限界値に達する前に、データ・セットの VSAM エクステント限界値に達する可能性があります。 これが発生した場合、Db2はデータ・セットを拡張しません。