REORG TABLESPACE が使用するデータ・セット
REORG TABLESPACE ユーティリティーは、操作中に多くのデータ・セットを使用します。
下の表に、REORG TABLESPACE が使用するデータ・セットのリストを示します。 この表には、データ・セットの識別に使用される DD 名、データ・セットの説明、およびデータ・セットが 必須であるかどうかがリストされています。 必須のデータ・セット、およびオプションのデータ・セットのうち使用する必要のあるデータ・セットのそれぞれについて、 ステートメントを JCL に組み込んでください。
| データ・セット | 説明 | 必須か ? |
|---|---|---|
| RNPRINnn | ソート・プログラムからのメッセージの入っているデータ・セット (通常は SYSOUT または DUMMY)。 このデータ・セットは、列グループの分散統計が収集される場合に使用されます。 nn は 01 から並列サブタスク数までの間の数値です。 | 第1位 |
| sysin | ユーティリティー制御ステートメントが 入っている入力データ・セット。 | はい |
| SYSUT1 | ソート入力用の一時データ・セット。 | いいえ |
| SYSPRINT | メッセージ用の出力データ・セット。 | はい |
| STPRIN01 | ソート・プログラムからのメッセージ
を収容するデータ・セット (通常は、SYSOUT または DUMMY)。 このデータ・セットを使用するのは、データ・パーティション化された少なくとも 1 つの副次索引で統計を収集する場合、またはキーワード COLGROUP および FREQVAL が指定されている場合です。 |
はい 1, 2, 14 |
| SYSDISC | REORG DISCARD からの廃棄レコードの入っているデータ・セット。 デフォルトの DD 名は SYSDISC です。 | 第4 |
| SYSPUNCH | REORG DISCARD または REORG UNLOAD EXTERNAL がデータ・セット DISCARD または UNLOAD に 書き込んだレコードをロードする REORG によって生成された LOAD ステートメントが 入っているデータ・セット。 デフォルトの DD 名は SYSPUNCH です。 | 第5 |
| UTPRINT | ソート・プログラムからのメッセージ を収容するデータ・セット (通常は、SYSOUT または DUMMY)。 | はい |
| アンロード・データ・セット | RELOAD フェーズ中に再ロードされるアンロード・データが入っているデータ・セット。 その DD 名またはテンプレート名を、UNLDDN オプションまたは DB2I ユーティリティー・パネル
の RECDSN フィールドで指定します。 このデータ・セットは、BSAM が読み取り可能な、順次データ・セットでなければなりません。 デフォルトの DD 名は SYSREC です。 アンロード・データ・セットは、ターゲット表スペースのすべての表から の全アンロード・レコードが入るだけの十分な大きさが必要です。 索引を持たない表が表スペース中に 1 個でもあると、REORG は SHRLEVEL CHANGE を 用いた SORTDATA 法を使用できません。 その結果として、データを SYSREC データ・セットに アンロードする必要があります。 |
はい6 |
| 順次コピー | イメージ・コピーが 入る 1 ~ 4 個の出力データ・セット。 それらの DD 名またはテンプレート名を、ユーティリティー制御ステートメント の COPYDDN および RECOVERYDDN オプションで指定します。 | No7 |
| FlashCopy® 画像のコピー | テーブルスペースまたはインデックススペースレベルのコピーについては、各パーティションまたはピースの出力 FlashCopy イメージコピー用のVSAMデータセット。 パーティション・レベルまたはピース・レベルのコピーの場合、パーティションまたはピースの出力 FlashCopy イメージ・コピー用のVSAMデータセット。 |
第13号 |
| 作業データ・セット | ソート入力およびソート出力用の一時データ・ セット。 DD 名の形式は DATAWKnn です。 | No8 |
| 作業データ・セット | ソート・キーをソートするときのソート入出力用の一時データ・セット、または SORTDATA が指定されているときはデータをソートするための一時データ・セットですが、NOSYSRECではなく。 索引作成に並列処理を使用する場合は、DD 名の形式は SWnnWKmm でなければなりません。 索引作成並列処理を使用しない場合、 DD 名の形式は「 SORTWKnn になります。 | はい9 |
| ソート作業データ・セット | 少なくとも 1 つのデータ・パーティション化副次索引でインライン統計を収集する場合、または COLGROUP オプションまたは COLGROUP オプションまたは FREQVAL オプションが指定されている場合に、ソート入力および出力用の一時データ・セット。 DD名はST 01 WKNNnn形式です。 | いいえ3,10,11 |
| ソート作業データ・セット | アンロード並列処理用の一時データ・セット。 DD名はDAnnWKmm形式です。 | はい11 |
| ソート作業データ・セット | 列グループの分散統計を収集する場合の、ソート入出力用の一時データ・セット。 DD 名の形式は RNmmWKnn で、mm はサブタスク番号、nn はタスクごとに割り振られるデータ・セットのシーケンス番号です。 |
いいえ1,10,11 |
| ソート作業データ・セット | 頻度統計を収集する場合の、ソート入出力用の一時データ・セット。 DD 名の形式は SORTWK01 です。 |
いいえ10,11 |
| 印刷データ・セット | アンロード並列処理用のデータ・セット。 DD 名にはDTPRINnnという形式があります。 REORG TABLESPACE を呼び出すごとに、新しい DTPRINnn データ・セットが動的に割り振られます。 REORG TABLESPACE は、以前のジョブ・ステップでの DTPRINnn データ・セットを再使用しません。 この動作により、使用可能な JES2 ジョブ・キュー・エレメントが、想定より短時間で消費される可能性があります。 |
はい 11、 12 |
注:
|
||
以下のオブジェクトは、ユーティリティー制御ステートメントで 指定され、JCL で DD ステートメントは不要です。
- 表スペース
- 再編成されるオブジェクト。
アンロード・データ・セットのサイズ計算
アンロード・データ・セットに 必要なサイズは、REORG で使用するオプションによって異なります。
- UNLOAD PAUSE または CONTINUE を用いた REORG を使用し、KEEPDICTIONARY (コンプレッション・ディクショナリーが既に
存在しているとの前提) を指定した場合、アンロード・データ・セットのサイズ (バイト) は表スペースの VSAM の割り振り済み RBA の最高位置として計算することができます。 割り振り済み RBA の最高位置は関連の VSAM カタログから得ることができます。
SHRLEVEL CHANGE の場合、次の計算結果 (バイト) を VSAM の使用済み RBA の最高位置に追加します。
number of records * 11 - UNLOAD ONLY、UNLOAD PAUSE または CONTINUE を用いた REORG を使用し、KEEPDICTIONARY を指定
しなかった場合、アンロード・データ・セットのサイズ (バイト) は次の公式で計算することができます。
行の長さの最大とは、行の長さ (6 バイトのレコード接頭部を含む) に最長のクラスタリング・キー を加えたものです。 表スペースに複数の表が存在する場合は、次の公式を使用して、行の長さの最大を判別します。maximum row length * number of rows
SHRLEVEL CHANGE の 場合は、次の式の結果も前期の結果に加算します。Sum over all tables ((row length + (2 * number of VARBIN columns)) * number of rows)
(23 * ((NEARINDREF + FARINDREF) * 1.1))
上記の式の記号の意味は次のとおりです。- NEARINDREF
- SYSIBM.SYSTABLEPART カタログ表の NEARINDREF 列から 得られる値です。 データ・セットのサイズ計算の精度は、 SYSTABLEPART カタログ内の情報がどのくらい新しいかによって決まります。
- FARINDREF
- SYSIBM.SYSTABLEPART カタログ表の FARINDREF 列から得られる値です。
- 可変長フィールドがある場合、 ステップ2の計算により、余分なスペースが生じる可能性があります。 解凍された平均的な行の長さに、行数を掛けたものを使用してください。
- UNLOAD PAUSE を用いた REORG、または DISCARD オプションを用いた CONTINUE を使用し、表に可変長フィールドがある場合は、行の長さの最大を計算に使用してくだ さい。 DISCARD オプションを NOPAD オプションなしで使用すると、可変長フィールドへの埋め込みが行われます。
カタログおよびディレクトリーにおける特定の表スペースでは、表スペースの アンロード・データ・セットの形式が異なります。 このデータ・セットのサイズの計算は次のようになります。
data set size in bytes = (28 + longrow) * numrows上記の式の記号の意味は次のとおりです。
- longrow
- 表スペースでの最長の行の長さ
- numrows
- データ・セットでの行数
行の長さは次のように計算されます。
Sum of column lengths + 4 bytes for each link列の長さは次のように計算されます。
Maximum length of the column + 1 (if nullable) + 2 (if varying length)ソート作業データ・セットのサイズ計算
2 つか 3 つの大きな SORTWKnn データ・セットを 使用する方が、いくつかの小さいデータ・セットを使用するよりも望ましい方法です。 十分なスペースが使用可能でない場合は、REORG を実行することはできません。
ソート作業データ・セットを複数ボリュームにまたがって割り振ることができません。 ボリューム数が少ないほど、同じデータ量のソートに必要となるソート作業データ・セットは多くなります。このため、大きなサイズのボリュームは、必要となるソート作業データ・セット数を減少させます。このため、ボリューム・サイズを大きくすれば、必要となるソート作業データ・セットの数を減少させることができます。
ディスク上にソート作業データ・セットを割り振る場合は、ソート対象のデータが使用するスペースの少なくとも 1.2 倍のスペースを割り振ってください。
通常、 ソート作業データ・セットには、アンロード・データ・セットが使用する スペースの 2 倍を割り振れば十分です。 圧縮データの場合、そのデータを処理のために圧縮解除する必要があるときは、追加のソート・スペースを割り振ります。 既存のデータの圧縮率を使用して、必要となる追加のソート・スペースを計算してください。 圧縮データを圧縮解除する必要がある場合のいくつかの例では、以下を組み込みますが、これだけに限定されません。
- KEEPDICTIONARY なしの UNLOAD PAUSE
- KEEPDICTIONARY なしの UNLOAD CONTINUE
- 廃棄処理
- ALTER ADD COLUMN などのスキーマ変更の後
- AUX YES 処理が有効である場合
磁気テープ装置はソート作業データ・セットではサポートされません。
ソート・プログラム・メッセージの宛先指定
REORG ユーティリティー・ジョブ・ステップ には、REORG の SORT フェーズ中に ソート・プログラムが発行するメッセージ の宛先を定義する UTPRINT DD ステートメントが必要です。 DB2I、%DSNU CLIST コマンドおよび DSNUPROC プロシージャーは、以下のデフォルト DD ステートメントを使用します。
//UTPRINT DD SYSOUT=A統計ソート作業データ・セットのサイズ計算
ST01WKnn データ・セット・サイズ (バイト) を概算 するには、次の公式を使用します。
2 ×(最大レコード長 × numcols × (count + 2) × 索引数)
上記の公式の変数の値は次のとおりです。
- 最大レコード長
- 頻度統計を収集する際に処理される SYSCOLDISTSTATS レコードの 最大レコード長 (この値は、SYSTABLES の RECLENGTH 列から入手できます。)
- numcols
- 指定された索引から頻度数を収集する際に連結するキー列数。
- 数
- DB2 が収集する頻度数