REORG TABLESPACE 制御ステートメントの構文とオプション
REORG TABLESPACE ユーティリティー制御ステートメントは、複数のオプションを使用して、ユーティリティー・ジョブが実行する機能を定義します。
制御ステートメントは、ISPF/PDF 編集機能を使って作成することができます。 制御ステートメントを作成した後、それを順次データ・セットまたは区分データ・セットに 保管します。 ジョブを実行するための JCL を作成するときは、SYSIN DD ステートメントを使用して、ユーティリティー 制御ステートメントを格納するデータ・セットの名前を指定してください。 これらのオプションの一部は、 LOB 表スペースには無効です。 これらのオプションの一覧については、「LOBテーブルスペースの再編成 」を参照してください。

構文図
- 1 LISTオプションではUNLOAD PAUSEは使用できません。
- 2 COPYDDN(SYSCOPY) は、SHRLEVEL NONE を指定し、REORG 保留状態のパーティションが存在しない場合、デフォルトでは有効になりません。
- 3 COPYDDNまたはFCCOPYDDNのどちらかを指定することも、両方を指定することもできます。 パーティションが REORG ペンディング状況のときは SHRLEVEL NONE に対して、 あるいは SHRLEVEL CHANGE OR SHRLEVEL REFERENCE に対して、 これらのオプションの少なくとも 1 つを指定する必要があります。 FCCOPYDDN を指定しても、COPYDDN または SYSCOPY DD 文または TEMPLATE 指定を指定しない場合、SYSCOPY では FlashCopy® イメージコピーのみが取得されます。
- 4 SHRLEVEL REFERENCEの場合、 change-spec オプションは無視されます。 例外は、非パーティション索引を持つパーティション表スペースに対するパーティション・レベルの REORG 操作です。 この場合、change-spec オプションは無視されません。
- 5 SHRLEVEL REFERENCEの場合、 change-spec オプションは無視されます。 例外は、非パーティション索引を持つパーティション表スペースに対するパーティション・レベルの REORG 操作です。 この場合、change-spec オプションは無視されません。
- 6 以下の比較演算子も、基本および数量化された述語でサポートされています。!=、!<、および!> 。詳細は比較演算子を参照してください
- 7 COUNTキーワードが指定されていない場合、ユーティリティは自動的にカウント値を決定し、最も頻繁に発生する値を収集します。
- 8 KEYCARDオプションは非推奨です。 KEYCARD の機能は、索引のインライン統計の デフォルト実行に組み込まれたため、無効にすることはできません。
- 9 COUNTキーワードが指定されていない場合、ユーティリティは自動的にカウント値を決定し、最も頻繁に発生する値を収集します。

オプションの説明
- TABLESPACE database-name.table-space-name
- 再編成する表スペース (およびオプションで、それが属しているデータベース) を指定します。表スペースを再編成する場合は、その索引も再編成されます。
- database-name
- 表スペースが属するデータベースの名前です。 名前には、DSNDB07 は使用できません。
デフォルト値は DSNDB04です。
- 表スペース名
- 再編成する表スペースの名前です。 指定するデータベース名が DSNDB01 の 場合は、名前には SYSUTILX は使用できません。
- LIST リスト定義名
- 前に定義された LISTDEF リスト名の名前を指定し
ます。 このユーティリティーでは、REORG TABLESPACE の各制御ステートメントごとに LIST キーワードを 1 つ
使用することができます。 リストに含まれるのは、表スペースのみ
です。
FROM TABLE, STATISTICS TABLE table-name また は STATISTICS INDEX index-name は、REORG TABLESPACE LIST と一緒には指定しないでください。 表スペースのリストについてインライン統計を収集する場合、 STATISTICS TABLE (ALL) を指定します。 索引のリストについてインライン統計を収集する場合は、STATISTICS INDEX (ALL) を指定し ます。 PART は LIST と一緒に指定しないでください。
REORG TABLESPACE は、リストのそれぞれの項目ごとに 1 回、呼び出されます。 CLONE キーワードが指定されている場合、このユーティリティーはクローン・データのみを処理します。 LISTDEF ステートメントで CLONED YES を使用するのでは不十分です。
パーティションまたは パーティション範囲をリストに指定できます。
- LISTPARTS ん
- PARTLEVEL リスト項目を含む LISTDEF 上の単一の REORG で、再編成するデータ・パーティションの最大数を指定します。
- n
- 一度に再編成するデータ・パーティションの最大数を表す整数を指定します。 有効な値は 0より大きい値です。
LISTPARTS が指定されていない場合、デフォルト値は REORG_LIST_PROCESSING サブシステム・パラメーターの値によって決定されます。 REORG_LIST_PROCESSINGがSERIALに設定されている場合、LISTPARTS 1が使用される。 REORG_LIST_PROCESSINGをPARALLELに設定すると、指定されたすべてのパーティションが1回のREORG操作で再編成されます。
- PARALLEL(num-subtasks )
表スペースを再編成するために並列で開始するサブタスクの最大数を指定します。 PARALLEL キーワードを省略した場合、サブタスクの最大数は、アンロードされているパーティション数または作成されている索引数によって制限されます。
num-subtasks の値は 0 以上 32767 以下の整数でなければなりません。 num-subtasks に指定された値が 32767 より大きい場合、REORG TABLESPACE ステートメントは失敗します。 num-subtasks の値が 0 であるか、または指定されていない場合、 REORG TABLESPACE ユーティリティーは並列サブタスクの最適数を使用します。 num-subtasks に指定された値が、計算された最適な数より大きい場合、 REORG TABLESPACE ユーティリティーは並列サブタスクの数を、制約を適用した上での最適な数に制限します。
PARALLEL で指定されるサブタスク数は PARAMDEG_UTIL サブシステム・パラメーターの指定を常にオーバーライドするため、PARALLEL を PARAMDEG_UTIL の値より小さくすることも、大きくすることもできます。
REORG TABLESPACE は高度なアルゴリズムを使用して、パーティションのアンロード、パーティションの再ロード、索引の作成、ログ変更の適用、および統計の収集のためのサブタスクを割り振ります。 その結果、開始されるサブタスクの数は、PARALLEL に指定された数より少ない場合があります。
INITCDDS
REORG TABLESPACEが通常のREORG処理を実行するか、DATA CAPTURE CHANGES属性で定義された表を含む表空間の拡張辞書を圧縮辞書データセット(CDDS)にコピーするかを指定します。このオプションは、 GDPS® データ損失ゼロの継続的可用性環境におけるデータ共有グループにのみ適用されます。
- NO
- REORG TABLESPACE が通常の REORG 処理を実行することを指定します。
- はい
REORG TABLESPACE によって CDDS にデータを設定し、表スペースを再編成しないことを指定します。 テーブル・スペース内のテーブルがDATA CAPTURE CHANGESで定義され、テーブル・スペースがデータ共有グループ内にあり、データ共有グループが GDPS データ損失ゼロの継続的可用性環境の一部である場合にのみ、YESを指定します。

- SEARCHTIME
- CDDSへのデータの取り込みに使用する拡張辞書を決定するために REORG TABLESPACE が使用するタイム・スタンプを指定します。 対象ページセットが現在使用している拡張辞書に、SEARCHTIME値よりも後のLRSN値がある場合、REORGはログおよびSYSCOPY情報内の以前の拡張辞書を検索します Db2 ログおよびSYSCOPY情報の中から 以前の拡張ディクショナリーが存在する場合、 REORG はそのディクショナリーを CDDSにコピーします。
timestamp の場合、または labeled-duration-expression の評価結果は TIMESTAMP(6) 値でなければなりません。
- NONE
- REORG が、ターゲット・ページ・セットが現在使用している拡張ディクショナリーから CDDS にデータを追加することを指定します。
- タイムスタンプ
- CDDSへのデータの取り込みに使用する拡張辞書を決定する TIMESTAMP(6) 定数を指定します。
- ラベル付き期間式
- CDDSへのデータの取り込みに使用する拡張辞書を決定する TIMESTAMP(6) 定数に評価します。 計算は、CURRENT TIMESTAMP もしくは CURRENT DATE に基づいて行われます。 1 つ以上の 定数 値を CURRENT TIMESTAMP 値または CURRENT DATE 値として追加または減算することができます。 この式は、 REORG の実行後に発生するタイム・スタンプに評価してはなりません。 CURRENT TIMESTAMP および CURRENT DATE は、REORG ステートメントが初めて処理される時に、一度だけ評価されます。 オブジェクトのリストが指定された場合は、リスト内のすべてのオブジェクトについて、同じ値が有効になります。
- CURRENT_DATE
- 拡張ディクショナリー・タイム・スタンプが CURRENT DATEに基づいて計算されることを指定します。
- CURRENT_TIMESTAMP
- 拡張ディクショナリー・タイム・スタンプが CURRENT TIMESTAMPに基づいて計算されることを指定します。
- WITH TIME ZONE
- CURRENT TIMESTAMP 値に時間帯内が含まれることを指定します。 特殊レジスター CURRENT TIMESTAMP のタイム・スタンプ精度は、拡張辞書の LRSN 値に相当するタイム・スタンプの精度と同じでなければなりません。 同じでない場合は、デフォルトのタイム・スタンプ精度が使用されます。 CURRENT TIMESTAMP のタイム・ゾーンは、特殊レジスター CURRENT TIMEZONE の値です。 この比較は、タイム・スタンプの UTC 部分を比較することによって行われます。
- 定数
- 時間の単位を示し、その後に、7 つの期間キーワードの YEARS、 MONTHS、DAYS、HOURS、MINUTES、SECONDS、または MICROSECONDS のいずれかが続きます。 これらのワードは、YEAR、 MONTH、DAY、HOUR、MINUTE、SECOND、MICROSECOND のように、単数形も受け入れ可能です。


- CLONE
- 指定された表スペースからクローンのみを REORG TABLESPACE が再編成 することを指示します。 CLONE キーワードが指定されている場合、このユーティリティーはクローン・データのみを処理します。 LISTDEF ステートメントで CLONED YES を使用するのでは不十分です。 指定された表スペース内の基本表は再編成されません。 CLONE を指定する場合は、STATISTICS は指定できません。 クローン表の 統計は収集されません。
- REUSE
- SHRLEVEL NONEと一緒に使用する場合、 REORG が DB2管理データ・セットを削除および再定義せずに論理的にリセットし、再利用することを指定します。 REUSEとSHRLEVEL NONEを指定しない場合、 Db2 削除および再定義され Db2 -管理データセットを削除して再定義し、リセットします。
データ・セットに複数エクステントがある場合、REUSE パラメーターを使用すると、 そのエクステントは解放されません。
SHRLEVEL REFERENCE または CHANGE も指定した場合は、REUSE は適用されません。
- SCOPE
- 指定された表スペースまたは指定された 1 つ以上パーティションの再編成の有効範囲を示します。
- ALL
- 指定された表スペースまたは指定された 1 つ以上のパーティションを再編成 することを示します。 デフォルトは ALL です。
- PENDING
- 指定された表スペースまたは 1 つ以上のパーティションが REORG ペンディング (REORP、 AREO*、または AREOR) 状況にある場合にのみ再編成されるようにすることを指示します。
- PART(integer )
- PART(整数1:整数2)
- PART( 整数、… 整数、… 整数 1 : 整数 2、… 整数 1 : 整数 2 )
- 再編成されるパーティションのセットを示します。 パーティションのセットは、括弧で囲む必要があります。
以下を再編成することができます。
- 1 つ以上の単一パーティション
- 1 つ以上のパーティション範囲
- 1 つ以上の単一パーティションと 1 つ以上のパーティション範囲との組み合わせ
パーティションは、連続している必要はありません。
integer、integer1、および integer2 は物理パーティション番号です。 各パーティション番号は、1 から、表スペースまたはパーティション索引に定義されているパーティション数までの範囲でなければなりません。 最大は 4096 です。
- 整数
- 単一のパーティションを指定します。
- integer1:integer2
既存の表スペース・パーティションの範囲を指定します。 範囲は任意の順序で指定できます。 例えば、 (100:199) または (199:100)と指定することができます。 いずれの場合も、区画 100 から 199 が再編成されます。 整数 1 が 整数 2に等しい場合は、その 1 つの区画のみが再編成されます。 例えば、 (5:5)と指定すると、パーティション 5 のみが再編成されます。
PART キーワードを 省略すると、表スペース全体が再編成されます。
LOBテーブルスペースにPARTキーワードを指定すると、 Db2 エラーメッセージが表示され、ユーティリティ処理は戻りコード8で終了します。
パーティションの範囲を指定し、リストの高いまたは低いパーティション が REORG ペンディング状態にある場合は、指定された範囲の外側にある隣接パーティションは REORG ペンディング状態で あってはなりません。そうではない場合は、ユーティリティーはエラーを伴って終了します。
制限事項: 同じテーブルスペースで、1つ以上の非パーティショニングインデックスが定義されている場合、 を同時に実行することはできません。 REORG TABLESPACE SHRLEVEL CHANGE PART 整数 複数ジョブを実行依頼する代わりにすべてのターゲット・パーティションを 同じ REORG ジョブで指定することにより、それらのジョブをマージして 1 つのジョブに することができます。単一のパーティションまたはある範囲内にあるパーティションを再編成すると、 表スペースのすべての索引が影響を受けます。 非パーティション索引がどの程度乱れているかによっては、再編成した方がよいでしょう。 再編成が必要なインデックスの決定 」を参照してください。
- REBALANCE
- 再編成されたパーティション間で行が均等にバランシングされるように、REORG TABLESPACE が新たにパーティション境界を設定することを指定します。 パーティション境界の定義に使用される
列でデータ行内に重複値が多数ある場合は、均等にバランシングされることは常に可能とは限りません。 複数のパーティションに対して REBALANCE を指定してください。
再バランシングするために単一のパーティションを指定した場合は、REORG TABLESPACE はその指定を無視し
ます。
圧縮辞書を構築するREORG REBALANCE操作は、UNLOADフェーズのすべてのターゲット・パーティションからのデータ行を使用して、単一の辞書を構築する。 次にREORGは、その辞書をすべてのターゲットデータパーティションにロードし、RELOADフェーズでデータを圧縮するために使用する。 
REBALANCE は、SHRLEVEL NONE、SHRLEVEL CHANGE または SHRLEVEL REFERENCE と一緒に指定することができ ます。 基本表スペースに補助 LOB 表スペースが関連付けられている場合、SHRLEVEL REFERENCE または SHRLEVEL CHANGE を指定する必要があります。 この場合、REBALANCE を指定するときのデフォルト値である AUX YES も指定する必要があります。 SHRLEVEL REFERENCE または SHRLEVEL CHANGEを指定して REBALANCE を指定すると、パーティション表スペースを範囲内の表スペースに変換するための保留中の定義変更はマテリアライズされません。
REBALANCE は、SCOPE PENDING と一緒に指定することはできません。
制限事項 :REBALANCEは、以下のオブジェクトに対して指定できません- 増加対応パーティション表スペース
- XML 列のある基本表
- XML 表スペース
- クローン関係に関与するオブジェクト。 (基本表とクローン表はカタログ情報を共有しているため、REBALANCE によってターゲット表のパーティション境界が変更されることがあります。)
- 限界キーの変更がペンディングである表スペース
REBALANCE を指定した場合、以下のいずれかの操作を行ってインライン・コピーを作成する必要があります。
- JCL に SYSCOPY DD ステートメントを指定する。
- TEMPLATE ユーティリティーを使用して、SYSCOPY データ・セットを動的に割り振る。
- REORG 制御ステートメントに COPYDDN オプション付きの DD 名を指定し、かつ、対応する DD ステートメントまたは TEMPLATE ステートメントのいずれかを指定する。
完了すると、DB2 は、パッケージおよび動的キャッシュを無効にします。
- SORTCLUSTER
- REBALANCE がデータ・レコードのクラスタリング順のソートを試行するかどうかを決めます。 クラスタリング索引が表に存在しない場合や、限界キー列がクラスタリング索引列と同一であるかそのスーパーセットである場合、このオプションは無視されます。
- NO
- データ・レコードをクラスタリング順に明示的にソートしないことを指定します。 このオプションがデフォルトの動作です。
SORTCLUSTER NO を明示的に指定した場合、REORG REBALANCE の完了時に、影響を受けるデータ・パーティションには REORG ペンディング通知 (AREO*) 状況が設定されません。 SORTCLUSTER NO が明示的に指定されておらず、代わりにデフォルトによって受け入れられている場合には、影響を受けるパーティションに依然として AREO* 状況を設定できます。
- YES
- 必要に応じて、データ・レコードをクラスタリング順に明示的にソートすることを指定します。
LOG 
REORG SHRLEVEL NONE の RELOAD フェーズ中に、レコードをログに記録するかどうかを指定します。 レコードをログに記録しない場合は、表スペースは、イメージ・コピーをとった後でしか
リカバリーできません。 COPYDDN、FCCOPYDDN、RECOVERYDDN、SHRLEVEL REFERENCE、または SHRLEVEL CHANGE が指定された場合、REORG の実行中にイメージ・コピーが作成されます。- YES
- RELOAD フェーズ中にログ・レコードをとることを指定します。 このオプションは、DSNDB01 および DSNDB06 の表スペースに対しては使用できず、SHRLEVEL REFERENCE オプションや SHRLEVEL CHANGE オプションが指定されている場合も使用できません。
SHRLEVEL NONE が明示的に、またはデフォルトとして、指定されている場合、デフォルト値は YES です。 SHRLEVEL NONE が指定されており、表スペースに NOT LOGGED 属性が付いている場合、DB2 は LOAD を LOG NO で処理します。
- NO
- レコードをログに記録しないことを指定します。 このオプションはデフォルトであり、SHRLEVEL REFERENCE オプションまたは SHRLEVEL CHANGE オプションが指定されている場合は必須です。 REORG がリモート側で実行され、RECOVERYDDN が指定されていない場合、LOG NO は表スペースを COPY ペンディング状況にします。

DROP_PART 
REORG TABLESPACE ユーティリティーで増加対応表スペース全体を再編成する場合に、その表スペース内で最も大きな番号が付いている空のパーティションを削除するかどうかを指定します。REORGが以下のテーブルスペースで実行された場合、DROP_PARTキーワードは効果を持ちません
- LOB 表スペース
- 増加対応パーティションとして定義されていない表スペース
- MAXPARTITONS 値 1 で定義されている増加対応パーティション表スペース
DATA CAPTURE CHANGES で定義されている表を含む、増加対応パーティション表スペース
- ハッシュ増加対応パーティション表スペース
クローン関係にあるオブジェクト
DROP_PART が指定されていない場合、 REORG ユーティリティーの動作は、 REORG_DROP_PBG_PARTS サブシステム・パラメーターの値に基づいています。
- いいえ
- REORG TABLESPACE ユーティリティーは、増加対応表スペース内で最も大きな番号が付いている空のパーティションを、正常終了時に削除しません。
- はい
- REORG TABLESPACE ユーティリティーは、増加対応表スペース内で最も大きな番号が付いている空のパーティションを、正常終了時に削除します。
AUX YES が指定された場合、または DROP_PART YES がデフォルトで指定され、ベース・テーブル空間の再編成中に空のパーティションが削除された場合、それらのパーティションの LOB テーブル空間も削除されます。
増加対応表スペースでない表スペースに対して DROP_PART YES が指定された場合、または REORG TABLESPACE がパーティション・レベルで指定された場合、DROP_PART YES は無視され、通知メッセージが返されます。
FASTSWITCH NO が指定されている場合、DROP_PART キーワードは機能を発揮しません。

- SORTDATA または SORTDATA NO
- SORTDATA は、データを表スペース・スキャンによってアンロードしてから、クラスタリング順にソートすることを指定します。
デフォルト値は、UNLOAD ONLY または UNLOAD EXTERNAL が指定されていない場合は、SORTDATA です。 このいずれかのオプションを指定した場合、デフォルトは SORTDATA NO です。
SORTDATA NO は、可能な場合、クラスタリング索引の順序でデータをアンロードすることを指定します。 以下のいずれかの条件が当てはまる場合は、SORTDATA NO を指定します。
- データはクラスタリングする順序かそれに近い順序であり、REORG ユーティリティーは、 ドロップされた表のスペースを再利用するために使用される。
- データの量がきわめて大きく、ソートに使用できる十分なディスク・スペースがない。
パーティション化表スペースの場合、クラスタリング索引がパーティション化されていないとき、REORG はクラスタリング索引によってレコードをアンロードしません。 データ・レコードは、まずパーティション順にアンロードする必要があります。 さらに、REORG のアンロードまたは再ロードのパーティション並列処理が使用されるとき、または REORG が増加対応パーティション表スペースで実行されるとき、クラスタリング索引が使用されない場合には、REORG は常に表スペース・スキャンを実行してデータ・レコードをアンロードします。
関連情報: - RECLUSTER
- データ・レコードを、クラスタリング索引を使用してアンロードすることにより再クラスター化するかどうかを指定します。
RECLUSTER NOは、以下の状況では常に適用されます
- SHRLEVEL変更処理用
- クラスタリングインデックスにEXCLUDE NULL KEYS属性がある場合
PBGテーブル空間の場合
REORG操作で並列性が使用される場合
- はい
- クラスタリング索引が存在する場合、データ・レコードはその索引を使用して再クラスター化され、アンロードされます。 このオプションがデフォルトの動作です。
- いいえ
- データ・レコードは、クラスタリング索引を使用して再クラスター化したりアンロードしたりされません。
- NOSYSREC
- REORG TABLESPACE はアンロード・データ・セットを使用しないことを指定します。 ユーティリティーはソートの出力を再ロードの入力として使用しますが、この処理ではアンロード・データ・セットは使用しません。
アンロード・データ・セットを省略するとパフォーマンスが向上する場合があります。 ただし、NOSYSREC を指定することによってアンロード・データ・セットを省略すると、ユーティリティーの再始動の際に以下の制限が生じます。
- 再ロード中にエラーが発生した場合、UNLOAD フェーズの先頭からユーティリティーを再起動する必要があります。 (NOSYSREC を指定しない場合、RELOAD フェーズからユーティリティーを開始できます。)
- SHRLEVEL NONE を指定して、再ロード中にエラーが発生した場合、まず RECOVER ユーティリティーを最新のイメージ・コピーで実行する必要があります。
NOSYSREC で SHRLEVEL NONE を指定した場合、REORG TABLESPACE を実行する前にイメージ・コピーを作成します。
以下のいずれかの条件が該当する場合は、NOSYSREC を指定できません。 
- REORG TABLESPACE ジョブの実行中にデータがソートされない。 例: SORTDATA NO が指定されている、または再編成されるデータに索引が定義されていない。
- UNLOAD PAUSE が指定されている。
- UNLOAD ONLY が指定されている。
- COPYDDN (ddname1,ddname2)
- イメージ・コピーの 1 次 (ddname1) および
バックアップ (ddname2) のコピー・データ・セットの DD ステートメントを指定します。
ddname1 および ddname2 は DD 名です。
デフォルト値は 1 次コピー用の SYSCOPY です。 REORG の実行時に フル・イメージ・コピー・データ・セットが作成されます。 この コピーはインライン・コピーと呼ばれます。 この表スペースは、指定した LOG オプションに関係なく、COPY ペンディング状況のままになることはありません。
インライン・コピーを実行すると、DB2 は SYSIBM.SYSCOPY カタログ表内に ICTYPE='F' のレコードを書き込みます。 インライン・コピー・データ・セットの名前は、そのレコードにリストされます。 REORG がある範囲のパーティションで実行されているときにインライン・コピーが実行された場合、DB2 は各パーティションに ICTYPE='F' のレコードを書き込みます。 インライン・コピーのデータ・セット名は、それらのレコードのすべてで同じです。
REORG で SHRLEVEL NONE を (明示的にまたはデフォルトで) 指定し、 かつ COPYDDN を指定しなかった場合は、イメージ・コピーはローカル・サイトでは作成されません。
以下の条件が当てはまる場合は、COPYDDN(SYSCOPY) が想定され、SYSCOPY 用の DD ステートメントが 必要となります。
- REORG SHRLEVEL REFERENCE または CHANGE を指定し、かつ COPYDDN を指定しない。
- 表スペースまたはパーティションが REORG ペンディング (REORP) 状況である。
- REBALANCE を指定。
COPYDDN キーワードは、前の TEMPLATE ユーティリティー・ステートメントからの DD 名またはテンプレート名のいずれかを指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し
ます。 テンプレート名が &PA. 変数 または &PART. 変数を使用する場合、 REORG は、再編成されるパーティションごとに別個のコピー・データ・セットを割り振ります。
REORG は XML 表スペースのインライン・コピーを作成できます。
- RECOVERYDDN (ddname3,ddname4)
- リカバリー・サイトのイメージ・コピーの 1 次 (ddname3) および
バックアップ (ddname4) コピー・データ・セットの DD ステートメントを指定します。
ddname3 および ddname4 は DD 名です。
重複したイメージ・コピー・データ・セットを作成することはできません。 RECOVERYDDN には、COPYDDN の場合と同じ規則が適用されます。
RECOVERYDDN キーワードは、前の TEMPLATE ユーティリティー・ステートメントからの DD 名またはテンプレート名のいずれかを指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し
ます。 テンプレート名が &PA. 変数 または &PART. 変数を使用する場合、 REORG は、再編成されるパーティションごとに別個のコピー・データ・セットを割り振ります。
LOB 表スペースの REORG SHRLEVEL REFERENCE は、インライン・コピーを サポートしますが、REORG SHRLEVEL NONE はそうではありません。
ICLIMIT_DASD ナムダスド 
REORG TABLESPACE が DASDに割り振ることができる順次イメージ・コピーの最大数を指定します。 num-dasd の有効な値は、 0 から 32767までです。 値 0 は、 REORG が割り振ることのできる DASD イメージ・コピーの数に制限がないことを示します。ICLIMIT_DASD に指定された値は、 REORG_IC_LIMIT_DASD サブシステム・パラメーターの値をオーバーライドします。

ICLIMIT_TAPE ナムテープ 
REORG TABLESPACE がテープに割り振ることができる順次イメージ・コピーの最大数を指定します。 num-tape の有効な値は、 0 から 32767までです。 値 0 は、 REORG が割り振ることのできるテープ・イメージ・コピーの数に制限がないことを示します。ICLIMIT_TAPE に指定された値は、 REORG_IC_LIMIT_TAPE サブシステム・パラメーターの値をオーバーライドします。

- FLASHCOPY
- FlashCopy テクノロジーを使用してオブジェクトのコピーを作成するかどうかを指定します。 有効値は YES、NO、または CONSISTENT です。 FlashCopy を使用すると、各パーティションまたはオブジェクトの各部分に対して個別のデータセットが作成されます。
ユーティリティ制御文の FlashCopy の仕様は、サブシステムパラメータを使用して定義された FlashCopy の仕様をすべて上書きします。 Db2 サブシステムパラメータで定義されている FlashCopy サブシステムのパラメータで、このユーティリティのデフォルト動作として FlashCopy の使用が指定されている場合、FLASHCOPYオプションはユーティリティ制御文から省略することができます。
重要: 入力データセットが1シリンダー未満の場合、FLASHCOPYの設定に関わらず、 FlashCopy テクノロジーはオブジェクトのコピーに使用されない場合があります。 FlashCopy を使用しない場合、コピーはIDCAMSによって実行されます。- NO
- FlashCopy を行わないことを指定します。 FLASHCOPY では NO がデフォルト値です。
- YES
- FlashCopy テクノロジーがオブジェクトのコピーに使用されることを指定します。
YES を指定するのは、 Db2 データセットが FlashCopy バージョン2のディスクボリュームにある場合のみ、YESを指定してください。
重要: 以下の状況下では、YESが指定されているにもかかわらず、REORG TABLESPACEユーティリティが FlashCopy を使用しない場合があります- FlashCopy バージョン2のディスクボリュームは利用できません
- ソーストラックはすでに FlashCopy 操作の対象となっています
- ターゲットトラックは、 FlashCopy 操作のソースです
- コピーに関連する関係の最大数を超過した
FlashCopy が要求されたが使用されなかった場合、SHRLEVEL REFERENCE または SHRLEVEL CHANGE とともに REORG が指定されると、REORG TABLESPACE はリターン・コード 8 で失敗します。 再編成のターゲットであるオブジェクトは、REORG TABLESPACE がまったく実行されなかった場合と同様に、同じ読み取り/書き込み状況のままになります。 
SHRLEVEL REFERENCEまたはSHRLEVEL CHANGEが指定されず、 FlashCopy が要求されたが使用されなかった場合、REORG TABLESPACEはリターンコード8で完了する。 同じジョブで順次インライン・コピーが要求されていない場合は、オブジェクトはコピー・ペンディング状況のままになります。 
- CONSISTENT
- FlashCopy テクノロジーがオブジェクトのコピーに使用されることを指定します。 REORG TABLESPACE ユーティリティーによって作成される コピーは、既に整合しているため、ユーティリティーでは、CONSISTENT の指定を YES の 指定と同様に扱います。
- FCCOPYDDN
- FlashCopy の画像コピーのデータセット名を作成する際に使用するテンプレートを指定します。 FlashCopy を使用する際にREORG TABLESPACE制御文でFCCOPYDDNに値が指定されていない場合、FCCOPYDDNサブシステム・パラメータで指定された値が使用されるテンプレートを決定します。
- (テンプレート名 )
- FlashCopy の画像コピーのデータセット名は、テンプレートの指定に従って割り当てられています。 テーブルスペースまたはインデックススペースレベルの FlashCopy イメージコピーについては、パーティションまたはピースごとにデータセットが割り当てられるため、テンプレート仕様におけるデータセットの命名規則が十分に一意であることを確認してください。 &DSNUM 変数を使用してください。この変数は実行時にパーティション番号または部分番号に解決されます。
- AUTOESTSPACE
- REORG が、ハッシュ編成の表スペースの固定ハッシュ・スペースのサイズを自動的に計算してフォーマット設定するように指定します。 AUTOESTSPACE YES を使用すると、オーバーフロー域の行数が削減されることがあります。
- YES
- DB2 で、リアルタイム統計 (RTS) 値を使用してハッシュ・スペースのサイズを調整することを指定します。 SYSIBM.SYSTABLESPACE および SYSIBM.SYSTABLEPART カタログ表に保管されているユーザー指定の HASH SPACE 値は変更されません。 AUTOESTSPACE のデフォルト値は YES です。
- NO
- DB2 で、CREATE TABLE または ALTER TABLE に指定された HASH SPACE 値を使用することを指定します。 これらの値は、SYSIBM.SYSTABLESPACE および SYSIBM.SYSTABLEPART カタログ表に保管されます。
- SHRLEVEL
- 再編成に使用される方法を指定します。 SHRLEVEL に続くパラメーターは、REORG の RELOAD フェーズで許されるアクセスのタイプを示します。
- NONE
- 再編成を以下のように行うことを指定します。
- 再編成されるエリアからアンロードします (その間、アプリケーションは読み取ることはできますが、そのエリアに書き込むことはできません)。
- そのエリアへ再ロードします (その間、アプリケーションは何もアクセスできません)。 その後、読み取り/書き込みアクセスが再び可能になります。
NONE を (明示的にまたはデフォルトで) 指定した場合は、以下のパラメーターは指定できません。
- MAPPINGTABLE
- MAXRO
- LONGLOG
- DELAY
- DEADLINE
- DRAIN_WAIT
- RETRY
- RETRY_DELAY
制約事項:- UNLOAD PAUSE または UNLOAD ONLY を 指定した場合は、NOSYSREC を指定することはできません。 ORGANIZE BY HASH を使用して定義されている表に対して SHRLEVEL NONE を指定することはできません。
- ペンディングの定義変更をマテリアライズする前のポイント・イン・タイムまでリカバリーの処理を完了する REORG TABLESPACE 制御ステートメントに、SHRLEVEL NONE を指定することはできません。
SHRLEVEL NONE を指定した場合、ペンディングの定義変更はマテリアライズされません。 また、関連付けられた限定状態もリセットされません。 例えば、ペンディングの限界キーの変更はマテリアライズされず、関連付けられた通知 REORGペンディング状況はリセットされません。 (限界キーの即時変更は、REORG SHRLEVEL NONE によってマテリアライズ可能です。)
LOB 表スペースに対して REORG が実行される場合は、SHRLEVEL NONE はサポートされません。
- REFERENCE
- 再編成を以下のように行うことを指定します。
- 再編成されるエリアからアンロードします (その間、アプリケーションは読み取ることはできますが、そのエリアに書き込むことはできません)。
- そのエリアのシャドー・コピーに再ロードします (その間、アプリケーションは読み取ることは できますが、オリジナル・コピーには書き込むことはできません)。
- データ・セット名を入れ替えて、その後、再び読み取り/書き込みを可能にすることによって、 アプリケーションのその後のアクセスをオリジナル・コピーから、シャドー・コピーへ切り替えます。
SHRLEVEL REFERENCE および FASTSWITCH NO を指定すると、以下のようになります。- ペンディングの定義変更はマテリアライズされません。
- REORG_DROP_PBG_PARTS サブシステム・パラメーターと DROP_PART オプションはいずれも機能を発揮しません。 REORG_DROP_PBG_PARTS が ENABLE に設定されている場合、または DROP_PART が YES に設定されている場合、空の末尾パーティションは削除されません。

LOB 表スペース に対して REFERENCE を指定する場合は、再編成中にインライン・コピーを 作成する必要があります。
REFERENCE を指定する場合は、以下のパラメーターを指定することはできません。- ログ。 REFERENCE による再編成では、常にイメージ・コピーが作成され、 再ロード中は常にレコードのログ記録が中止されます。
- UNLOAD PAUSE、UNLOAD ONLY、または UNLOAD EXTERNAL。 REFERENCE による再編成では、デフォルト値の UNLOAD CONTINUE が常に使用されます。 (UNLOAD CONTINUE オプションを明示的に指定したり、UNLOAD オプション何も指定しなかったりすることも可能ですが、UNLOAD PAUSE、UNLOAD ONLY、UNLOAD EXTERNAL は指定できません。)
- MAPPINGTABLE。
REORG_PART_SORT_NPSI サブシステム・パラメーターを有効にして REORG TABLESPACE PART SHRLEVEL REFERENCE を指定すると、非パーティション化副次索引のためにソートされるキー数が増えるため、より大きなソート作業データ・セットが必要となることがあります。
以下のいずれかが正しい場合、SHRLEVEL REFERENCE または CHANGE を XML パーティション化表スペース全体に指定すると、XML 表スペースは拡張 10 バイト・フォーマットに変換されます。
- UTILITY OBJECT CONVERSION サブシステム・パラメーターが EXTENDED または NOBASIC に設定されている。
- RBALRSN_CONVERSION EXTENDED キーワードが指定されている。
制限事項 : 非分割インデックスが定義されている NOT LOGGED テーブルスペースで、REORG TABLESPACE with PART を実行する際に、SHRLEVEL REFERENCE を指定することはできません。 - CHANGE
- 再編成を以下のように行うことを指定します。
- 再編成されるエリアからアンロードします (その間、アプリケーションはそのエリアでの読み取りと書き込みができます)。
- そのエリアのシャドー・コピーに再ロードします (その間、アプリケーションは そのエリアのオリジナル・コピーに読み取り/書き込みのアクセスができます)。
- オリジナル・コピーのログをシャドー・コピーに適用します (その間、アプリケーションは 読み取ることができ、通常はオリジナル・コピーへ書き込むことができます)。
- データ・セット名を入れ替えて、その後、再び読み取り/書き込みを可能にすることによって、 アプリケーションのその後のアクセスをオリジナル・コピーから、シャドー・コピーへ切り替えます。
SHRLEVEL CHANGE および FASTSWITCH NO を指定すると、以下のようになります。- ペンディングの定義変更はマテリアライズされません。
- REORG_DROP_PBG_PARTS サブシステム・パラメーターと DROP_PART オプションはいずれも機能を発揮しません。 REORG_DROP_PBG_PARTS が ENABLE に設定されている場合、または DROP_PART が YES に設定されている場合、空の末尾パーティションは削除されません。

CHANGE を指定した場合、次のパラメーターは指定できません。
- ログ。 CHANGE による再編成では、常にイメージ・コピーが作成され、 再ロード中は常にレコードのログ記録は中止されます。
- UNLOAD PAUSE、UNLOAD ONLY、または UNLOAD EXTERNAL。 CHANGE による再編成では、デフォルト値の UNLOAD CONTINUE が常に使用されます。 (UNLOAD CONTINUE オプションを明示的に指定したり、UNLOAD オプション何も指定しなかったりすることも可能ですが、UNLOAD PAUSE、UNLOAD ONLY、UNLOAD EXTERNAL は指定できません。)
REORG_PART_SORT_NPSI サブシステム・パラメーターを有効にして REORG TABLESPACE PART SHRLEVEL CHANGE を実行すると、非パーティション化副次索引のためにソートされるキー数が増えるため、より大きなソート作業データ・セットが必要となることがあります。
以下のいずれかが正しい場合、SHRLEVEL REFERENCE または CHANGE を XML パーティション化表スペース全体に指定すると、XML 表スペースは拡張 10 バイト・フォーマットに変換されます。
- UTILITY OBJECT CONVERSION サブシステム・パラメーターが EXTENDED または NOBASIC に設定されている。
- RBALRSN_CONVERSION EXTENDED キーワードが指定されている。
GDPS データ損失ゼロの継続的可用性環境でソース・グループでREORG TABLESPACEを実行するときに、SHRLEVEL CHANGEを指定し、KEEPDICTIONARYを指定しなかった場合、 Db2 は、スイッチ・フェーズの間にCDDSに展開ディクショナリを挿入します。
制約事項:- 表スペースが LOB 表スペースでなければ、表スペースが NOT LOGGED 属性を持っている場合は、SHRLEVEL CHANGE を指定することはできません。
- ペンディングの定義変更をマテリアライズする前のポイント・イン・タイムまでのリカバリー処理を完了する REORG TABLESPACE 制御ステートメントに SHRLEVEL CHANGE を指定した場合、 REORG はメッセージを出して、SHRLEVEL REFERENCE を使用します。
- DEADLINE
- SWITCH フェーズ開始の期限を指定します。 もし Db2 SWITCHフェーズが期限までに開始されないと予測した場合、 Db2DISPLAY UTILITY コマンドが発行するメッセージを発行し、その後、再編成を終了します。
DEADLINE の最終結果とすべてのタイム・スタンプ計算が TIMESTAMP(6) に含められます。
REORG SHRLEVEL REFERENCEまたはSHRLEVEL CHANGEがDEADLINE指定により終了した場合、 Db2 メッセージを発行 DSNU374I 理由コード2のメッセージを発行しますが、制限状態には設定しません。
- NONE
- ログ処理の SWITCH フェーズがそれまでに開始しなければならない期限はないことを指定します。
- タイムスタンプ
- ログ処理の SWITCH フェーズの開始期限を指定します。 この期限は、REORG を実行したときに、既に過ぎていてはなりません。
- ラベル付き期間式
- ログ処理での SWITCH フェーズが開始する期限を計算します。 計算は、CURRENT TIMESTAMP もしくは CURRENT DATE に基づいて行われます。 1 つ以上の 定数 値を追加または減算して、締切を指定することができます。 この期限は、REORG を実行したときに、既に過ぎていてはなりません。 CURRENT TIMESTAMP および CURRENT DATE は、REORG ステートメントが初めて処理される時に、一度だけ評価されます。 オブジェクトのリストが指定されている場合には , リスト中のすべてのオブジェクトに対して同じ値が有効になります。
- CURRENT_DATE
- CURRENT DATE を基にして期限を計算することを指定します。
- CURRENT_TIMESTAMP
- CURRENT TIMESTAMP を基にして期限を計算することを指定します。
- WITH TIME ZONE
- CURRENT TIMESTAMP をタイム・ゾーン列と比較することを指定します。 特殊レジスター CURRENT TIMESTAMP のタイム・スタンプ精度は、列のタイム・スタンプ精度と同じである必要があります。 同じでない場合は、デフォルトのタイム・スタンプ精度が使用されます。 CURRENT TIMESTAMP のタイム・ゾーンは、特殊レジスター CURRENT TIMEZONE の値です。 比較は、タイム・スタンプの UTC 部分を比較することによって行われます。
- 定数
- 時間の単位を示し、その後に、7 つの期間キーワードの YEARS、 MONTHS、DAYS、HOURS、MINUTES、SECONDS、または MICROSECONDS のいずれかが続きます。 これらのワードは、YEAR、 MONTH、DAY、HOUR、MINUTE、SECOND、MICROSECOND のように、単数形も受け入れ可能です。
- DRAIN_WAIT 整数
- 表スペースまたは索引をドレーンする際のユーティリティーの待ち時間を秒数で指定します。 指定される時間は、再編成されるオブジェクトについて集約した時間です。 この値は、IRLMRWT および UTIMOUT によって指定された値をオーバーライドします。 integer の有効な値は、0 から 1800 までです。 このキーワードが省略されているか、値 0 が指定 されている場合、このユーティリティーは、ロック・タイムアウト・システム・パラメーター IRLMRWT の値を使用します。
- RETRY 整数
- REORG が試行すべき再試行の最大数を指定します。 整数 の有効な値は、 0 から 255 です。
RETRY を指定すると、処理コストの増大につながる可能性があり、結果として、読み取り専用アクセス の期間が倍になったり、延びる恐れがあります。 例えば、RETRY および SHRLEVEL CHANGE を指定した場合、REORG がとるコピーのサイズが大きくなる ことがあります。
デフォルト値は、UTIMOUT サブシステム・パラメーターの値です。
- RETRY_DELAY 整数
- 再試行と再試行の間の最小所要時間を秒数で指定し
ます。 整数 の有効な値は、 1 から 1800です。
RETRY_DELAY が 指定されていない場合、REORG TABLESPACE は以下の 2 つの値の小さい方を使用します。
- DRAIN_WAIT 値 × RETRY 値
- DRAIN_WAIT 値 × 10
- MAPPINGTABLE テーブル名
- マッピング表の名前を指定します。このマッピング表は、REORG TABLESPACE が エリアのオリジナル・コピーにあるデータ・レコードの RID とシャドー・コピーにある対応する RID 間 でマップするときに使用します。 名前にブランクが含まれている場合は、表名を引用符で囲みます。 マッピング・テーブルが必要で、それが指定されていない場合には、REORG によって作成されます。
- MAPPINGDATABASE データベース名
- REORG がマッピング表と索引オブジェクトを暗黙的に作成するデータベースを指定します。 このキーワードは、REORG_MAPPING_DATABASE 内のサブシステム・パラメーター値をオーバーライドします。 この値を DSNDB01、DSNDB06、DSNDB07、暗黙データベース、作業ファイル、一時データベースにすることはできません。
- MAXRO 整数
- ログ処理の最後の反復のための最大時間を指定します。 その反復時には、
アプリケーションには読取専用アクセスが割り当てられます。 MAXRO は LOG フェーズのパラメーターです。 LOG フェーズが必要でない場合に MAXRO を
指定すると、エラー・メッセージが出されます。
最後の反復の実際の実行時間は、MAXRO で指定された値を超える可能性があります。
ALTER UTILITY コマンドは、MAXROの値を変更することができます。
デフォルト値は RETRY_DELAY のデフォルト値です。
- 整数
- integer は秒数です。 小さな正の値を指定すると、読み取り専用アクセス時間の長さは短縮されますが、REORG が 完了するまでの経過時間が増加することになります。 非常に大きな正の値を指定すると、ログ処理の 2 回目の反復が、おそらく、 最後の反復になります。
- DEFER
- 読み取り/書き込みアクセスに伴うログ処理の反復が無限に続くことを指定し
ます。 ALTER UTILITY を使用して MAXRO 値を変更しない限り、REORG は読み取り専用アクセスを伴う最後
の反復を開始することはありません。
DEFER を指定する場合は、LONGLOG CONTINUE も指定してください。
DEFER が指定されていて、DB2 が、1 回の反復の実際の時間と次回の反復の見積時間が両方とも 5 秒より短いと 判断した場合は、DB2 は、次回の反復に 5 秒間の 休止を追加します。 この休止により、プロセッサー時間の使用量が削減されます。 ある特定の REORG の実行でこの状態が初めて発生したとき、DB2 は メッセージ DSNU362I をコンソールに送信します。 このメッセージは、処理が必要なログ・レコード数が少なく、 休止が発生することを通知するものです。 MAXRO値を変更してREORGを終了させるには、 ALTER UTILITY コマンドを実行します。 Db2 状況が発生するたびにポーズを追加します。ただし、 Db2 REORGの実行に対して最後にメッセージが送信されてから30分が経過した場合のみメッセージを送信します。
- DRAIN
- MAXRO のしきい値に達した後の LOG フェーズの終わりでのドレーンの
動作、およびログの最後の反復をいつ適用するかを指定します。 DRAIN は LOG フェーズのパラメーターです。 ログ・フェーズが必要でないときに DRAIN が指定されている場合は、エラー・メッセージが出されます。
- WRITERS
- Db2 ログフェーズでMAXROのしきい値に達した後、ライターのみをDRAINし、スイッチフェーズに入るとDRAIN ALLを発行する。
- ALL
- 現在のデフォルトのアクションを指定します。 Db2 ログフェーズ中に、MAXRO しきい値に達した後、すべてのリーダーとライターを排出することです。以下の条件が両方とも当てはまる場合は、DRAIN ALL の指定を考慮してください。
- LOG フェーズでは SQL 更新アクティビティーが頻繁に行われる。
- デフォルトの動作の結果、多数の -911 SQL エラー・メッセージが出される。
- LONGLOG
- ログ処理の次回の反復が処理するレコード数が、前回の反復が処理した数より
十分に小さくなっていない場合に、DB2 が
コンソールにメッセージを送信した後に実行するアクションを指定します。 この状態は、 REORG TABLESPACE ユーティリティーによるログの読み取りが、アプリケーション・ログの書き込みとして同時に実行されていないことを意味します。 LONGLOG は LOG フェーズのパラメーターです。 ログ・フェーズが必要でないときに LONGLOG を指定した場合は、エラー・メッセージが出されます。
- CONTINUE
- 1 回の反復の実行時間の見積もりが MAXRO に指定された時間を超えた場合に、DB2 が
再編成 (ログ処理の反復を含む) の実行を JOB ステートメント上の時間が切れるまで継続することを指定します。
MAXRO の DEFER 値および LONGLOG の CONTINUE 値がともに意味しているのは、REORG は、 再編成されるエリアのオリジナル・コピーへのアクセスを引き続き認めており、シャドー・コピーには 切り換えないということです。 ユーザーは、MAXRO に大きな値を用いて、ALTER UTILITY コマンドを実行して、切り替えを 開始することができます。
- TERM
- DELAY パラメーターで指定された遅延の後に DB2 が 再編成を終了することを指定します。
- DRAIN
- DELAY パラメーターで指定された遅延の後に DB2 が 書き込みクレーム・クラスをドレーンすることを指定します。 このアクションにより、ログ処理の最後の反復の実行が強制されます。 DRAIN は LOG フェーズのパラメーターです。 ログ・フェーズが必要でないときに DRAIN が指定されている場合は、エラー・メッセージが出されます。
- DELAY 整数
- REORG が LONGLOG メッセージをコンソールに送信する時間と、 REORG が LONGLOG パラメーターで指定されたアクションを実行する時刻との間の最小間隔を指定します。 DELAY は LOG フェーズのパラメーターです。 ログ・フェーズが必要でないときに DELAY が指定された場合は、エラー・メッセージが出されます。
integer は秒数です。
デフォルト値は 1200 です。
LASTLOG
REORG SHRLEVEL CHANGEが、LOGフェーズの最後のログ反復中にログレコードを適用するかどうかを指定する。LASTLOG NO を指定すると、最終的なログ反復で発生する高コストのサブプロセス(ページセットの強制書き込みなど)を回避できるため、停止時間を短縮することができます。ただし、LASTLOG NO は、同時実行 DML アクティビティなしで必要な期間を見つけられない場合、REORG が完了しない原因となる可能性があります。 LASTLOG NO では、DRAIN ALL オプションが有効である必要があります。
SHRLEVELの変更処理を行わないREORG実行では、LASTLOGは無視されます。
- はい
- REORGが、すべての請求クラスを排出(DRAIN ALL)した後に、ログ適用処理の最終ラウンドを実行することを指定します。 YESを指定すると、LOGフェーズにおけるログ適用処理の最終ラウンドが完了した後、REORGがSWITCHフェーズに進むことが保証されます。
YES はデフォルト値です。
- いいえ
- REORGが最終的なログ反復でログレコードを適用しないことを指定します。 REORGが「ブレイクイン」(オブジェクトの制御を獲得)するための既存の基準が満たされると、REORGはまずすべてのクレームクラスを排出してから、最後のログ反復の終わりから現在までのログを処理します。 この最終的なログ反復処理で対象オブジェクトのログ記録が検出された場合、REORGは対象オブジェクトをデドレインし、この最終的なログ反復処理を通常のログ反復処理に戻します。 将来のログ反復処理でREORGが再び「割り込む」と、ユーティリティは適用するログレコードがなくなるまで、すべてのログの排出、ログの読み取り、排出解除のサイクルを繰り返します。 ログが存在するために通常のログ反復に戻る場合、RETRYの考慮事項として排水の失敗と見なされます。したがって、「侵入」試行の繰り返しによる影響を軽減するために、高いRETRY値が推奨されます。

- TIMEOUT
- REORG ユーティリティーが、LOG フェーズもしくは SWITCH フェーズで、
オブジェクトをドレーンしようとしてタイムアウト条件となった場合に、とるべきアクションを指定します。
- TERM
- TERM オプションが指定されている場合にタイムアウト条件が起こると DB2 が
次のように動作することを指示します。
- DB2 は、 暗黙の TERM UTILITY コマンドを発行します。これによって、ユーティリティーは 戻りコード 8 で終了します。
- DB2 は メッセージ DSNU590I および DSNU170I を発行します。
- DB2 はオブジェクトを読み取り/書き込み状態のままにする。
- ABEND
- タイムアウト条件が生じた場合、DB2 で以下のいずれかのアクションが行われることを示します。
- DRAIN ALL が指定されている場合、DB2 はオブジェクトを UTRW 状態のままにしておきます。
- DRAIN WRITERS が指定されている場合、またはデフォルトで使用している場合は、次のようになります。
- オブジェクトに書き込みドレーン・ロックがあるときに障害が起きた場合、DB2 はオブジェクトを UTRW 状態のままにしておきます。
- オブジェクトに読み取りドレーン・ロックがあるときに障害が起きた場合、DB2 はオブジェクトを UTRO 状態のままにしておきます。
- LOGRANGES
- REORG が LOG フェーズ用に SYSLGRNX 情報を使用するかどうかを指定します。
- はい
- REORG は、LOG フェーズ用に可能な限り SYSLGRNX 情報を使用します。 このオプションがデフォルトの動作です。
- いいえ
- REORG は LOG フェーズ用に SYSLGRNX 情報を使用しません。 このオプションを使用すると、REORG の実行時間がかなり長くなります。 データ共用環境では、このオプションによって、すべてのメンバーからのすべてのログがマージされることになる場合があります。 このオプションは、SYSLGRNX 項目に関する既知の保全性問題、およびログ読み取り決定のために SYSLGRNX にアクセスする際のパフォーマンス上の問題がある場合に適切です。
- DRAIN_ALLPARTS
- 非パーティション化副次索引がパーティション化表スペースに定義されているとき、部分レベルの REORG TABLESPACE SHRLEVEL REFERENCE または CHANGE の際に実行するアクションを指定します。
- いいえ
- REORG は、ターゲットのデータ・パーティションを順次ドレーンしてから、非パーティション化副次索引をドレーンします。 このオプションがデフォルトの動作です。
- はい
- REORG は、ターゲットのデータ・パーティションと索引をドレーンする前に、まずパーティション化表スペース全体の表スペース・レベル・ドレーンを取得します。 このオプションは、REORG によるオブジェクト・ドレーンと DML ステートメントによるオブジェクト・クレームとが逆順になることで生じる、ドレーンのタイムアウトやデッドロックを除去することにより、問題を緩和できます。
- SWITCHTIME
- LOG フェーズの最終ログ反復が開始する時刻を指定します。 SWITCHTIME の最終結果とすべてのタイム・スタンプ計算が TIMESTAMP(6) に含められます。 このキーワードは、MAXRO キーワードと共に指定できます。 MAXRO DEFER が指定されていないと、指定された (もしくはデフォルトの) MAXRO 基準が満たされている場合に、REORG は指定された SWITCHTIME 値の前に LOG フェーズの最後のログの反復に入ることができます。 MAXRO DEFER が指定されていると、指定された SWITCHTIME が満たされるまで、あるいは MAXRO 値の変更時の外部 ALTER UTILITY コマンドの影響を受けるまで、REORG は最後のログの反復に入ることを試みません。
- NONE
- LOG フェーズの最後のログの反復に関する時刻を指定しません。 このオプションがデフォルトの動作です。
- タイムスタンプ
- LOG フェーズの最終ログ反復が開始する時刻を指定します。 この時刻は、REORG の実行時にはまだ到達していない時刻でなければなりません。
- ラベル付き期間式
- LOG フェーズの最後のログの反復が開始される時刻を計算します。 計算は、CURRENT TIMESTAMP もしくは CURRENT DATE に基づいて行われます。 1 つ以上の定数の値を加えるか、引いて、切り替え時刻を指定することができます。 この切り替え時刻は、REORG の実行時にはまだ到達していない時刻でなければなりません。 CURRENT TIMESTAMP および CURRENT DATE は、REORG ステートメントが初めて処理される時に、一度だけ評価されます。 オブジェクトのリストが指定された場合は、リスト内のすべてのオブジェクトについて、同じ値が有効になります。
- CURRENT_DATE
- CURRENT DATE を基にして期限を計算することを指定します。
- CURRENT_TIMESTAMP
- CURRENT TIMESTAMP を基にして期限を計算することを指定します。
- WITH TIME ZONE
- CURRENT TIMESTAMP をタイム・ゾーン列と比較することを指定します。 特殊レジスター CURRENT TIMESTAMP のタイム・スタンプ精度は、列のタイム・スタンプ精度と同じである必要があります。 同じでない場合は、デフォルトのタイム・スタンプ精度が使用されます。 CURRENT TIMESTAMP のタイム・ゾーンは、特殊レジスター CURRENT TIMEZONE の値です。 比較は、タイム・スタンプの協定世界時の部分を比較することによって行われます。
- 定数
- 時間の単位を示し、その後に、7 つの期間キーワードの YEARS、 MONTHS、DAYS、HOURS、MINUTES、SECONDS、または MICROSECONDS のいずれかが続きます。 これらのワードは、YEAR、 MONTH、DAY、HOUR、MINUTE、SECOND、MICROSECOND のように、単数形も受け入れ可能です。
- NEWMAXRO
- SWITCHTIME に達した後の、最終ログ反復の最大時間を指定します。 SWITCHTIME キーワードも指定しなければなりません。 この値は、指定されている既存の MAXRO パラメーターをオーバーライドします。 デフォルトは NONE です。
- NONE
- 指定の SWITCHTIME に達したとき、ログの処理時間を考慮に含めないで、REORG が最終ログ反復に進むように指定します。 NONE を指定すると、REORG は、ほぼ即時にまたは指定の SWITCHTIME 以降に最終ログ反復に入ります。 このオプションはデフォルトです。
- 整数
- integer は秒数です。 小さな正の値を指定すると、読み取り専用アクセス時間の長さは短縮されますが、REORG が 完了するまでの経過時間が増加することになります。 大きな正の値を指定すると、REORG が、ほぼ即時にまたは指定の SWITCHTIME 以降に最終ログ反復に入る可能性が大きくなります。
- FORCE
- ユーティリティーが表スペースをドレーンしているときにとるべきアクションを指定します。
REORG FORCE がスレッドをキャンセルするときは、CANCEL THREAD で実行 される場合同様のソフト・キャンセルが実行されます。
- NONE
- REORG によるドレーンの実行時に、アクションを実行しないことを指定します。 REORG ユーティリティーは、クレーマーがコミットするのを待機します。 ドレーンが失敗すると、既存の条件による指定に従い、ユーティリティーはタイムアウトになるか再始動します。
- READERS
- 最後の RETRY 処理で、REORG により DRAIN ALL が要求される場合に、読み取りクレーマーをキャンセルすることを指定します。
- ALL
- 最後の RETRY 処理で REORG が DRAIN ALL または DRAIN WRITERS を要求する際に、読み取りクレーマーと書き込みクレーマーの両方をキャンセルすることを指定します。
- SORTNPSI
- REORG TABLESPACE PART がパーティション化されていない副次索引 (NPSI) のすべてのキーをソートする場合に指定します。 すべての NPSI キーをソートする利点は、表スペース内の合計データに再編成されるデータの比率が増加するに従って増加します。 しかし、インデックスキーのソートは、ユーティリティの処理オーバーヘッドを増やす可能性があります。
このキーワードは、パーティション・レベルではない REORG 操作、または NPSIのない REORG 操作では無視されます。 デフォルト値は、サブシステム・パラメーター REORG_PART_SORT_NPSI の値です。
AUTO
ユーティリティーは、すべての NPSI キーをソートするか、または REORG 操作のスコープ内のキーのみをソートするかを決定します。この決定は、推定経過時間の予測や、処理中のすべての NPSI キーをするための CPU パフォーマンスの節約など、多くの要因に基づいています。 ただし、実際のパフォーマンスは、特定のシナリオによって異なります。CPU と経過時間の削減は必ずしも保証されません。

- YES
すべての NPSI キーをソートします。
- NO
- REORG 操作の有効範囲内にある NPSI キーのみがソートされます。
STATISTICS INDEX が指定されていて、 SORTNPSI AUTO が指定されているか、または REORG_PART_SORT_NPSI サブシステム・パラメーターが AUTOに設定されている場合、 REORG TABLESPACE PART は、 NPSIに関する統計を収集できます。 しかし、このような場合でも、REORG が統計を収集しないことがあります。 
- AUX
- REORG ユーティリティーによって再編成されるパーティション化表スペースのパーティションに
関連付けられている LOB 表スペースも再編成することを指定します。
- NO
- 基本表スペースで再編成が実行されるが、関連付けられた LOB 表スペースは再編成されないことを示します。
AUX キーワードを省略した場合、AUX YES で記述されている 1 つ以上のケースが真である場合でなければ、AUX NO がデフォルトです。
AUX NOは、ターゲット・テーブル・スペースが単純またはセグメント化(非UTS)テーブル・スペースから成長によるパーティショニング・テーブル・スペースへの変換のための保留中の定義変更がある場合、無視されます。 この場合、AUX YES が有効となります。
基本表スペースと LOB 表スペースにペンディングの定義変更がある場合、ペンディングの定義変更がマテリアライズされる前のポイント・イン・タイムへのリカバリーが完了する REORG 操作に対して、LOG NO を指定することはできません。 REORG は、まず LOB 表スペースで実行され、次に基本表スペースで実行される必要があります。 REORG が基本表スペースで実行されるとき、AUX YES が有効となります。
ペンディングの限界キー変更による影響を受ける LOB 列がある表では、 AUX NO を指定した REORG ジョブによって限界キーの変更はマテリアライズされません。 この場合、それらの変更がマテリアライズされるようにするためには、AUX YES を指定する必要があります。
- YES
- 基本表スペースの再編成時に、基本パーティション化表スペースに関連付けられた LOB 表スペースが再編成されることを示します。 関連付けられた表スペースのパーティションも再編成されます。
AUX キーワードを 省略した場合、以下のケースでは、AUX YES がデフォルトです。
- LOB 列が 1 行以上ある増加対応パーティション基本表スペースの REORG TABLESPACE で、表スペースに 1 より大きい MAXPARTITIONS 値がある場合。
- LOB 列が 1 つ以上あるパーティション化基本表スペースの REORG TABLESPACE SHRLEVEL REFERENCE REBALANCE
- REORG TABLESPACE がディレクトリー表スペース SPT01 に対して実行され、SPT01 が REORP または AREOR 状態の場合。 この場合、AUX YES が常に使用されます。
- LOB 列が 1 つ以上あるパーティション化基本表スペースの REORG TABLESPACEで、パーティション・キーの境界を変更する ALTER TABLE PARTITION コマンドが発行されたために、1 つ以上のパーティション範囲が REORG ペンディング状況である場合
- LOB 列が 1 つ以上あるパーティション化表スペースにある表の REORG TABLESPACE DISCARD
AUX YES が暗黙的または明示的に指定され、COPYDDN パラメーターがサブストリング表記なしの &SN. 変数 または &TS 変数を含む TEMPLATE ユーティリティー制御ステートメントを指定している場合、REORG は LOB 表スペースに対して以下のアクションを実行します。
- インライン・イメージ・コピーを作成する
- COPY ペンディング状況をリセットする
AUX YES が暗黙的または明示的に指定され、テンプレートが指定された場合、それらのテンプレートによって、再編成されている補助表スペースに固有のデータ・セット名が生成されていることを確認します。 指定した LISTDEF リストに含まれている補助表スペースは、ユーザーの責任で適切に管理してください。
AUX YES が暗黙的または明示的に指定され、 FlashCopy イメージのコピーが REORG の一部として取得される場合、REORG は再編成中のすべての LOB テーブルスペースのイメージコピーを生成します。
REORG AUX YES は、LOB 表スペースおよびその索引に対する保留中の変更をマテリアライズしないため、これらのオブジェクトの AREOR 状況をリセットしません。 LOB 表スペースに対して別個の REORG を実行して、これらの保留中の定義変更をマテリアライズする必要があります。
制限事項 :LOB列を持つパーティション分割されたテーブルスペースで、REORG with AUX YESが実行された場合、以下の制限事項が適用されます- REORG がインライン・コピーを作成して、コピーのためにテンプレートを使用するように指定する場合は、テンプレートに STACK YES オプションを使用しないでください。 そのオプションを使用すると、基本表スペースと補助表スペースとを同じテープ・ボリュームにスタックできないため、REORG は失敗します。 STACK YES オプションを指定してテンプレートを使用する必要がある場合、REORG ステートメントで AUX NO を指定し、補助表スペースの再編成とコピーを別個に行います。
- FASTSWITCH
- 特定の再編成に使用する SWITCH 方法論を指定します。
- YES
- SWITCH フェーズで FASTSWITCH 方法論を使用できるようにします。 このオプションは、カタログ (DSNDB06) またはディレクトリー (DSNDB01) では使用できません。
- NO
- SWITCH フェーズで IDCAMS RENAME が使用されます。
SHRLEVEL REFERENCE も SHRLEVEL CHANGE も付けないで FASTSWITCH NO を指定した場合、ペンディングの定義変更はマテリアライズされません。
- OFFPOSLIMIT 整数
OFFPOSLIMIT オプションは非推奨となっていて、その代わりの方法は DSNACCOX を実行することです。
指定した値と、DB2 が計算する値 (SYSIBM.SYSINDEXPART にある 指定されたパーティション内の各表の明示的なクラスタリング索引に関する計算) が 比較されることを指定します。 この計算は、次のように行われます。(NEAROFFPOSF + FAROFFPOSF) × 100 / CARDFあるいは、DB2 は、 単一の非パーティション化表スペースについて、または、ターゲット・オブジェクトとしてパーティション化表スペース全体を指定した場合は各 パーティションについて、SYSINDEXPART 内の値を検査します。 少なくとも 1 つの計算値が OFFPOSLIMIT 値を超えた場合は、REORG が実行されるか、実行が推奨されます。 このオプションは、非 LOB 表スペースに対してのみ 有効です。
integer は、比較される値であり、その範囲は 0 から 65535 までです。
デフォルト値は 10です。
- INDREFLIMIT 整数
INDREFLIMIT オプションは非推奨となっていて、その代わりの方法は DSNACCOX を実行することです。
指定した値と、DB2 が 計算する値 (指定された表スペースの SYSIBM.SYSTABLEPART 内の指定されたパーティションに関する 計算) が比較されることを指示します。 この計算は、次のように行われます。(NEARINDREF + FARINDREF) × 100 / CARDFあるいは、DB2 は、 単一の非パーティション化表スペースについて、または、ターゲット・オブジェクトとしてパーティション化表スペース全体を指定した場合は各 パーティションについて、SYSTABLEPART 内の値を検査します。 少なくとも 1 つの計算値が INDREFLIMIT 値を 超える場合は、REORG が実行されるか、実行が推奨されます。 このオプションは、非 LOB 表スペースに対してのみ 有効です。
integer は、比較される値であり、その範囲は 0 から 65535 までです。
デフォルト値は 10です。
- REPORTONLY
REPORTONLY オプションは推奨されないため、代わりの方法として DSNACCOX を実行します。
REORG は推奨するだけで、実行はしないことを指定します。 REORG は、以下のいずれかの戻りコードを伴った報告書を作成します。- 1
- 限界に達しません。REORG は実行されず、推奨もされません。
- 2
- REORG が実行されるか、推奨されます。
- UNLOAD
- データがアンロードされた後、ユーティリティー・ジョブに処理を継続させるのか、
または終了させるのかを指定します。 UNLOAD EXTERNALを指定しない限り、データは同じサブシステム上の同じテーブルおよびテーブルスペース( Db2 サブシステム上のカタログで定義されている)同じテーブルおよびテーブルスペースにのみ再ロードできます。 (このことで、UNLOAD PAUSE 中の VSAM の再定義が除外されることはありま
せん。)
データ・セットを LOAD の FORMAT UNLOAD オプションとの互換性がある形式にする場合 は、UNLOAD ONLY を指定する必要があります。 ただし、LOAD によってデータをロードできる先は、 そのデータがアンロードされた元の同じオブジェクトに限られます。
このオプションは、非 LOB 表スペースに対してのみ 有効です。
データ・セットを UNLOAD オプションのない LOAD でも使用できる 形式にする場合は、UNLOAD EXTERNAL を指定する必要があり ます。 UNLOAD EXTERNAL を指定すると、任意の DB2 サブシステムの任意の 表スペース内の互換の列を持つどの表へでも、データをロードできます。- CONTINUE
- データがアンロードされた後、ユーティリティーが処理を継続することを指定します。 前もってエンコードされているデータ行から索引キーを抽出する必要がある場合
は、編集ルーチンを呼び出して、その行をデコードすることができ
ます。
DISCARD を指定すると、行は解凍され、編集ルーチンはデコードされます。 DISCARD をファイルにも指定すると、行がフィールド・プロシージャーによってデコードされ、 以下の列が DB2 外部形式に変換されます。
- SMALLINT
- INTEGER
- FLOAT
- DECIMAL
- 時刻
- TIMESTAMP
それ以外の場合は、編集ルーチンまたはフィールド・プロシージャーは、 表スペースの UNLOAD および RELOAD の両フェーズでバイパスされます。 いずれのフェーズでも、妥当性検査プロシージャーは呼び出されません。
- PAUSE
UNLOAD PAUSE オプションは非推奨となっていて、その代わりの方法は UNLOAD ユーティリティーを実行することです。
データがアンロードされた後、処理は終了することを指定します。 ユーティリティーは停止し、RELOAD 状況は SYSIBM.SYSUTIL に保管される ため、RELOAD RESTART(PHASE) によって処理を再始動することができます。このオプションは、再編成中にデータ・セットを再定義する場合に便利です。 例えば、ユーザー定義のデータ・セットでは、以下のことが行えます。
- UNLOAD PAUSE オプションを用いて REORG を実行する。
- アクセス方式サービスを使用してデータ・セットを再定義する。
- 前のジョブを再サブミットし、RESTART(PHASE) を指定して、REORG を再始動する。
ただし、LIST オプションを指定した場合には、UNLOAD PAUSE を使用することはできません。
- ONLY
UNLOAD ONLY オプションは非推奨となっていて、その代わりは UNLOAD ユーティリティーを実行することです。
データがアンロードされた後に、ユーティリティー・ジョブを終了させ、 このユーティリティーの ID に対応する状況を SYSIBM.SYSUTIL から除去することを指定します。REORG TABLESPACE と一緒に UNLOAD ONLY を指定すると、UNLOAD フェーズで レコードを検索する際に、編集ルーチンまたはフィールド・プロシージャーが実行されます。
このオプションは、DSNDB01 または DSNDB06 のいずれの表スペースでも使用できません。
オプション DISCARD および WHEN は、UNLOAD ONLY と併用することはできません。
- EXTERNAL
UNLOAD EXTERNAL オプションは非推奨となっていて、その代わりは UNLOAD ユーティリティーを実行することです。
データがアンロードされた後に、ユーティリティー・ジョブを終了させ、 このユーティリティーの ID に対応する状況を除去することを指定します。UNLOAD ユーティリティーには、このほかにも機能があり ます。 REORG TABLESPACE と一緒に UNLOAD EXTERNAL を指定すると、行は解凍され、 編集ルーチンがデコードされ、フィールド・プロシージャーがデコードされ、そして、 列 SMALLINT、INTEGER、FLOAT、DECIMAL、DATE、 TIME、 および TIMESTAMP が DB2 外部形式に変換されます。 妥当性検査手順は呼び出されません。
以下のオブジェクトに対して EXTERNAL キーワードを指定しないでください。- DSNDB01 または DSNDB06 内の表スペース
- XML 列のある基本表
- XML 表スペース
DISCARD オプションを UNLOAD EXTERNAL と併用することはできません。
- NOPAD
追加の埋め込みは行わず、アンロードまたは廃棄されたレコードの可変長列が占める長さを実際のデータ長にするかどうかを指定します。 アンロードされたレコードは、長さはさまざま です。
- YES
- 可変長列に追加の埋め込みなしを指定します。
NOPAD のデフォルト値は、 REORG_TS_NOPAD_DEFAULT サブシステム・パラメーターによって設定されます。このサブシステム・パラメーターのデフォルト値は YESです。
- NO
- REORG 処理により、アンロードまたは廃棄されたレコード内の可変長列を各自の最大長まで埋め込むように指定します。 その結果、アンロードまたは廃棄されたレコードの長さはそれぞれの表ごとに等しくなります。
NOPAD オプションを一緒に指定できるのは、UNLOAD EXTERNAL または UNLOAD DISCARD の場合だけです。
LOAD ユーティリティーは、NOPAD オプションを用いてアンロードまたは廃棄された可変長列を 持つレコードを処理しますが、このようなレコードは、定位置にあるフィールドのみを処理するアプリケーションでは 処理できません。
生成される LOAD ステートメントが、 定位置にないフィールドに対して NULLIF 条件を提供できるようにするため、DB2 は、 DSN_NULL_IND_nnnnn という形式の名前で入力フィールド定義を生成します。 ここで、nnnnn は、関連付けられた列の番号です。
次の例は、EMPsampleテーブルに対して生成されたLOAD文を示しています
LOAD DATA INDDN SYSREC LOG NO RESUME YES EBCDIC CCSID(00500,00000,00000) INTO TABLE "DSN8C10 "."EMP " WHEN(00004:00005 = X'0012') ( "EMPNO " POSITION(00007:00012) CHAR(006) , "FIRSTNME " POSITION(00013) VARCHAR , "MIDINIT " POSITION(*) CHAR(001) , "LASTNAME " POSITION(*) VARCHAR , DSN_NULL_IND_00005 POSITION(*) CHAR(1) , "WORKDEPT " POSITION(*) CHAR(003) NULLIF(DSN_NULL_IND_00005)=X'FF' , DSN_NULL_IND_00006 POSITION(*) CHAR(1) , "PHONENO " POSITION(*) CHAR(004) NULLIF(DSN_NULL_IND_00006)=X'FF' , DSN_NULL_IND_00007 POSITION(*) CHAR(1) , "HIREDATE " POSITION(*) DATE EXTERNAL NULLIF(DSN_NULL_IND_00007)=X'FF' , DSN_NULL_IND_00008 POSITION(*) CHAR(1) , "JOB " POSITION(*) CHAR(008) NULLIF(DSN_NULL_IND_00008)=X'FF' , DSN_NULL_IND_00009 POSITION(*) CHAR(1) , "EDLEVEL " POSITION(*) SMALLINT NULLIF(DSN_NULL_IND_00009)=X'FF' , DSN_NULL_IND_00010 POSITION(*) CHAR(1) , "SEX " POSITION(*) CHAR(001) NULLIF(DSN_NULL_IND_00010)=X'FF' , DSN_NULL_IND_00011 POSITION(*) CHAR(1) , "BIRTHDATE " POSITION(*) DATE EXTERNAL NULLIF(DSN_NULL_IND_00011)=X'FF' , DSN_NULL_IND_00012 POSITION(*) CHAR(1) , "SALARY " POSITION(*) DECIMAL NULLIF(DSN_NULL_IND_00012)=X'FF' , DSN_NULL_IND_00013 POSITION(*) CHAR(1) , "BONUS " POSITION(*) DECIMAL NULLIF(DSN_NULL_IND_00013)=X'FF' , DSN_NULL_IND_00014 POSITION(*) CHAR(1) , "COMM " POSITION(*) DECIMAL NULLIF(DSN_NULL_IND_00014)=X'FF' )- FROM TABLE
- 再編成される表を指定します。 REORG TABLESPACE で指定された表スペースには、複数の表を保管することができ
ます。 FROM TABLE ステートメントによって指定されるすべての表は、固有でなければなりません。 UNLOAD EXTERNAL を指定すると、すべての表がアンロードされます。また、この場合は、
すべての表が DISCARD の対象となる可能性があります。 UNLOAD EXTERNAL を指定し、
アンロードする表および行に制限を設定したい場合、WHEN オプションを付けて FROM TABLE を指定してください。 DISCARD を指定する場合、WHEN オプション付きの FROM TABLE を指定して、廃棄したい行を限定する必要があります。
FROM TABLE は、REORG TABLESPACE LIST と一緒には指定しないでください。
- テーブル名
- 後続の WHEN 文節によって修飾される表の名前を指定します。 その表はカタログに記述されている必要があり、カタログ表であってはなりません。
表名がスキーマ名で修飾されていない 場合、ユーティリティー・ジョブ・ステップを起動した者の許可 ID が、 表名のスキーマ修飾子として使用されます。 名前にブランクが含まれている場合は、表名を引用符で囲みます。
- WHEN
- 表スペース内のどのレコードがアンロードされる (UNLOAD EXTERNAL の場合) または廃棄される (DISCARD の場合) のかを
指示します。 表スペース内の表に対して WHEN 文節が
指定されていない場合、すべてのレコードがアンロードされる (UNLOAD EXTERNAL の場合) か、
または、どのレコードも廃棄されません (DISCARD の場合)。
WHEN の後に続くオプションは、表から UNLOAD または DISCARD されるレコード 条件を記述しており、括弧で囲む必要があります。
- 選択条件
- 特定の行について、真、偽、または不明の条件を指定します。 条件が真の場合は、その行は UNLOAD または DISCARD の対象となる資格があります。 条件が偽または不明の場合は、その行は対象となる資格はありません。
selection condition は、最低 1 つの述部と任意の論理演算子 (AND, OR, NOT) から 構成されます。 selection condition の結果は、指定された論理演算子 を指定された それぞれの述部の結果に適用することによって得られます。 論理演算子を指定しないと、この selection condition の結果は、指定された下記 predicate の結果となります。
括弧の中の selection condition が最初に評価されます。 評価の順序が括弧によって指定されていない場合は、AND は OR よりも先に適用されます。
制御ステートメントが入力データと同じコード化スキームの場合は、 文字定数を制御ステートメントに指定することができます。 そうではなく、制御ステートメントが入力データと同じコード化スキームではない場合は、 条件を 16 進定数で指定する必要があります。
ワイルドカード文字 '%' を使用する場合、ワイルドカード文字の 16 進値は EBCDIC であることが必要です。 例えば、以下の文では、 x'41' はUNICODEとASCIIでは 'A'、EBCDICでは を意味する。 x'6C' はEBCDICの'%'を意味する:COL1 LIKE X'416C'。
ターゲット表が ASCII である場合、文字定数は 16 進数で指定する必要があります。 例えば、表スペースが EBCDIC で、制御ステートメントが UTF-8 の場合、 条件では (1:1)='1' ではなく、(1:1)=X'F1' を使用します。
制限事項 : REORG TABLESPACEでは、列レベルの暗号化データに基づいて行をフィルタリングすることはできません。 - 述語
- predicate では、所定の行またはグループについて、真、偽、または不明となる条件を
指定します。
- 基本述部
- 列と定数との比較を指定します。 その列の値が NULL である
場合は、predicate の結果は不明となります。 それ以外の場合は、predicate の結果は真または偽となります。
- 述部
- 下記の場合にのみ真となる
- カラム名 = 定数
- 列が定数またはラベル付き期間の式と等しい場合
- カラム名 < > 定数
- 列が定数またはラベル付き期間の式と等しくない場合
- カラム名 > 定数
- 列が定数またはラベル付き期間の式より大の場合
- カラム名 < 定数
- 列が定数またはラベル付き期間の式より小の場合
- カラム名 > = 定数
- 列が定数またはラベル付き期間の式より大か等しい場合
- カラム名 < = 定数
- 列が定数またはラベル付き期間の式より小か等しい場合
比較演算子 : 基本述語および量化述語では、比較演算子の以下の形式もサポートされています。!=、!<、および!> ここで、! 否定 (NOT) を意味します。 さらに、コード・ページ 437、 819、および 850 では、形式 ¬=、 ¬<、および ¬> がサポートされています。 この製品固有の形式の比較演算子はすべて、 このような演算子を使用している既存の REORG ステートメントをサポートすることのみを目的としており、新しい REORG ステートメントで使用することはお勧めしません。否定符号 (¬) (あるいは、国によってはこれの代わりに使用すべき文字) は、ある DBMS から別の DBMS に渡されるステートメントで構文解析エラーを引き起こすことがあります。 この問題が発生するのは、ステートメントでソースの CCSID と ターゲットの CCSID の特定の組み合わせによる文字変換が行われる場合です。 この問題の発生を防止するために、NOT 符号を含む演算子は同等の 演算子に置き換えてください。 例えば、 substitute '< >' の代わりに '¬='を使って、, '<=' の代わりにn'¬>'を使って、及び'>=' の代わりに '¬<'を使います。
- BETWEEN 述部
- ある値が、昇順に指定された他の 2 つの所定の値の間にあるかどうかを示します。 次の表に示すように、この述部の 2 つの形式 (BETWEEN と NOT BETWEEN) の
検索条件は同等です。 またこの表では、関係のある場合は、同等の述部も示しています。
表 1. BETWEEN 述部および同等の検索条件 述部 同等の述部 同等の検索条件 列間の value1 AND value2 なし (欄 >= 値 1 AND欄 <= 値 2) 列 NOT BETWEEN value1 AND value2 NOT(列が BETWEEN value1 AND value2 ) (欄 < 値 1 OR 欄 > 値 2) 注: 値は定数またはラベル付きの期間式とすることができます。例えば、次の述部は、給与 (SALARY) が 10 000 以上で 20 000 以下の行では真になります。
SALARY BETWEEN 10000 AND 20000 - ラベル付き期間式
- 以下の特殊レジスター値で始まる式を指定します。
- CURRENT DATE (CURRENT_DATE は受け入れ可能)
- CURRENT TIMESTAMP (CURRENT_TIMESTAMP は受け入れ可能)
オプションとして、ある数値の後に次の 7 つの期間キーワードの 1 つを付けること によって、加算および減算の算術計算を式に含めることができます。
- YEARS (または YEAR)
- MONTHS (または MONTH)
- DAYS (または DAY)
- HOURS (または HOUR)
- MINUTES (または MINUTE)
- SECONDS (または SECOND)
- MICROSECONDS (または MICROSECOND)
ユーティリティーは、labeled-duration-expression をタイム・スタンプとして 評価し、日付列との比較であれば、日付への変換を暗黙的に行います。
現在の日付の増分と減分 :日付に期間を追加した結果、または日付から期間を減算した結果は、それ自体が日付です。 (この演算では、月はカレンダーのページに相当します。 つまり、日付に月を加算することは、その日付のページから順にカレンダーをめくっていくようなものです。) 結果は、0001 年 1 月 1 日以後 9999 年 12 月 31 日以前の日付となる必要があります。次の表は、年数、月数、日数を他の日付と加算または減算することの影響を説明しています。
表 2. CURRENT DATE と期間との間の加算と減算の影響 加算または減算される値 効果 年 年数の加算または減算の場合は、日付の年の部分だけに影響します。 月も日も変更されませんが、その結果がうるう年でない年の 2 月 29 日となった場合は別です。 その場合は、結果の日の部分は 28 に設定されます。
月 月数の加算または減算の場合は、月の部分だけに、必要な場合は年に、影響します。 日付の日の部分は、その日が結果の月に存在しない場合に限り、変更されません。 ( 例: 9 月 31日、例えば ) その場合は、日はその月の最後の日付に設定されます。
ある日付に 1 カ月を加算すると、結果は 1 カ月後の同じ日となります。ただし、後の月に その日が存在しない場合は除きます。 この場合、結果の日は翌月の末日に設定されます。 例えば、1 月 28 日に 1 カ月を加算すると、結果は 2 月の 28 日になります。1 月 の 29 日、30 日、または 31 日に 1 カ月を加算すると、結果は 2 月の 28 日か、あるいは うるう年の 2 月 29 日になります。 特定の日付に 1 カ月以上の月数を加算し、その結果から同じ月数を減算した場合、最終的な日付が元の日付と同じになるとは限りません。
日 日数の加算または減算の場合は、日付の日の部分に影響しますが、 月および年も影響を受ける可能性があります。
日付 正の日付期間を日付に加算したとき、または負の日付期間を日付から減算したときには、 日付は年、月、および日について指定された数だけ増分されます。
正の日付期間を日付から減算したとき、または負の日付期間を日付に加算したときには、 日付は日、月、および年について指定された数だけ減分されます。
ラベル付き日付期間と日付との間の加算および減算の順序によって、結果に影響する可能性があります。 ある日付にラベル付き日付期間を加算する場合は、YEARS + MONTHS + DAYS という順序で指定してください。 ある日付からラベル付き日付期間を減算する場合は、DAYS - MONTHS - YEARS という順序で指定してください。 例えば、ある日付に 1 年と 1 日を加算する場合は、次のように指定します。
CURRENT DATE + 1 YEAR + 1 DAYある日付から 1 年 1 カ月と 1 日を減算する場合は、次のように指定してください。
CURRENT DATE - 1 DAY - 1 MONTH - 1 YEARタイムスタンプのインクリメントとデクリメント :タイムスタンプに期間を追加した結果、またはタイムスタンプから期間を差し引いた結果は、それ自体がタイムスタンプです。 日付/時刻の算術計算は、これまでの定義どおりに実行されます。 ただし、オーバーフローまたはアンダーフローとなった分の時間が結果の日付の部分に 繰り上げられることだけが異なります。この結果は、有効な日付の範囲内でなければなりません。 例えば、現在の日付が1月15日、現在時刻が20:00の場合、CURRENT_TIMESTAMP+8 HOURSは1月16日04:00と表示されます。 同様に、CURRENT_TIMESTAMP-22 HOURSは1月14日22:00を生成します。 - IN 述部
- ある値と 1 セットの値とを比較することを指定し
ます。 IN predicate の第 2 オペランドは、定数で指定された 1 セットの 1 つ以上の値
です。 次の表に示すように、この述部の 2 つの形式 (IN と NOT IN) の
検索条件は同等です。
表 3. IN predicate および同等の検索条件 述部 同等の検索条件 value1 IN ( value1, value2,…, valuen ) ( value1 = value2 または… または value1 = valuen ) value1 NOT IN ( value1, value2,…, valuen ) value1 ¬= value2 AND.. AND value1 ¬= valuen ) 注: 値は定数またはラベル付きの期間式とすることができます。例えば、従業員の所属部門が D11、B01、C01 のいずれかで ある行では、次の述部は真となります。
WORKDEPT IN ('D11', 'B01', 'C01')
IN 述部の値が多すぎると、ユーティリティーのパフォーマンスが大幅に低下することがあります。 正確な数は変わることがありますが、ただし、一般的に 2500 個以上の値を指定すると、パフォーマンスが低下する可能性があります。
- LIKE 述部
- 特定のパターンを持つストリングを修飾します。 下線文字とパーセント記号文字をワイルドカード文字として使用できるストリングを使用して、パターンを指定します。 下線文字 (_) は、任意の単一文字を表します。 パーセント記号 (%) は、ゼロ個以上の
任意の文字からなるストリングを表します。
以下の説明では、x はテストする列を表し、y はストリング定数内のパターンを 表します。
x LIKE y…
という形式の述部には、以下の規則が適用されます。 NOT が指定されている場合、結果は逆になります。- x または y が NULL の場合は、述部の結果は不明となる。
- y が空で x が空でない場合は、述部の結果は偽となる。
- x が空で y が空でない場合は、y が 1 つ以上の % 記号のみから成る場合を除き、述部の結果は偽となる。
- x と y が両方とも空の場合は、述部の結果は真となる。
- x と y が両方とも NULL でない場合、述部の 結果は、x が y のパターンと一致していれば真、x が y のパターンと一致していなければ偽になる。
パターン・ストリングとテストされるストリングは同じタイプでなければなりません。 つまり、x と y が両方とも文字ストリングであるか、あるい は x と y が両方ともグラフィック・ストリングでなければなりま せん。 x および y がグラフィック・ストリングである場合は、文字は DBCS 文字です。 x および y が文字ストリングで、x が混合データでない場合は、 文字は SBCS 文字であり、y は、そのサブタイプに関係なく、SBCS データ として解釈されます。
パターン内で、% 記号または下線文字 (_) は、% 記号または下線文字の リテラルを表すことができます。 これらの文字にリテラルの意味を持たせるためには、 それぞれの文字の前にエスケープ文字を付ける必要があります。
ESCAPE 文節では単一文字を指定します。 その文字が、パターン内でエスケープ文字として複数回使用できる唯一の文字となり ます。 ESCAPE 文節を省略すると、エスケープ文字としての役割を果たす文字がないため、 パターン中の % 記号と下線は任意の文字を表すためにのみ使用できます。 それぞれのリテラルとしてのオカレンスを表すことはできません。
以下に、ESCAPE 文節を使用する際に適用される規則を示します。
- x が混合データの場合 ESCAPE 文節は使用できません。
- x が文字ストリングの場合は、ストリング定数のデータ・タイプは 文字ストリングでなければなりません。 x がグラフィック・ストリングの場合は、 ストリング定数のデータ・タイプをグラフィック・ストリングにする必要があります。 いずれの場合も、ストリング定数の長さは 1 でなければなりません。
- エスケープ文字の後にエスケープ文字 '%' または '_' が続く場合を除き、パターンにエスケープ文字を含めることはできません。 例えば、 '+' がエスケープ文字である場合、 '++'、 '+_' 、または '+%' in の ' + ' 以外の '+' のオカレンスは、エラーになります。
以下に、そのパターンにエスケープ文字が含まれていない場合の、文字の意味を 簡単に示します。- 下線文字 (_) は、任意の単一文字を表します。
- パーセント記号 (%) は、ゼロ個以上の 任意の文字からなるストリングを表します。
- 上記以外のすべての文字は、その文字自体が 1 回あることを表す。
文字列とパターン:ストリング y は、y の 各文字が 1 つのサブストリング指定子の部分であるような、最小限の数のサブストリング指定子のシーケンスとして解釈されます。 サブストリング指定子は、下線、% 記号、あるいは、下線または % 記号以外の空ではない文字のシーケンスです。
ストリング x がパターン y と一致するのは、以下の ように x がサブストリングに分割化できる場合です。
- x のサブストリングがゼロ個以上の連続する文字の列であ り、x のそれぞれの文字が 1 つのサブストリングの部分となっている。
- n番目の部分文字列指定子がアンダースコアの場合、 n番目の部分文字列 の x は任意の一文字です。
- n 番目のサブストリング指定子が % 記号の 場合、x の n 番目のサブストリングがゼロ個以上の文字からなる任意の シーケンスである。
- n 番目のサブストリング指定子が下線でも % 記号でもない場合 に、x の n 番目のサブストリングがこのサブストリング指定子と等しく、 かつその長さがこのサブストリング指定子の長さと同じである。
- x のサブストリング数がサブストリング指定子の数と同じである。
パターン・ストリングにエスケープ文字が存在する場合は、下線、% 記号、 またはエスケープ文字は、その文字自体が 1 回現れることを示しています。ただし、 これらの文字の前に奇数個の連続するエスケープ文字がある場合に限ります。
LIKE 述部を評価するためにパターン・マッチングを行う方法は、固定長ストリングの最後にあるブランクが有効か、それともそれらのブランクが無視されるかによって異なります。 LIKE_BLANK_INSIGNIFICANT サブシステム・パラメーターを有効にすると、 LIKE 述部によって複数の異なる結果が生成されることがあります。
混合データのパターン:x が混合データである場合、パターンは混合データ であると想定され、その特殊文字は次のように解釈されます。
- 単一バイトの下線は 1 つの 1 バイト文字を 指し、2 バイトの下線は 1 つの 2 バイト文字を指す。
- 単一バイトまたは 2 バイトの % 記号は、単一バイトまたは 2 バイトの、 任意のタイプの任意の数の文字を指す。
- x または y 内の重複シフト・バイトは無視されます。
関連情報: - NULL 述部
- NULL 値のテストを指定します。
列の値が NULL である場合は、結果は真となります。 値が NULL 値でない場合、結果は偽になります。 NOT が指定されている場合、結果は逆になります。
- KEEPDICTIONARY
- 行をアンロードする際、REORG TABLESPACE に新しいコンプレッション・ディクショナリーを作成させないようにします。 REORG ユーティリティーは、UNLOAD 処理中にコンプレッション・ディクショナリーを作成します。 その後、このディクショナリーは RELOAD フェーズでデータを圧縮するために使用されます。
次の理由から、REORG の効率は KEEPDICTIONARY オプションによって向上します。
- コンプレッション・ディクショナリー作成の処理コストがかからない。
- 既存の圧縮行を再度、圧縮する必要がない。
- 索引が必要としない限り、または SORTDATA を使用しない限り、 既存の圧縮行を拡張する必要がない。
KEEPDICTIONARY は、コンプレッション・ディクショナリーが存在し、再編成中の表スペースまたはパーティションが圧縮を使用して定義されている場合にのみ有効です。 ディクショナリーが存在しない場合は、ディクショナリーが作成され、警告メッセージが出され、
すべてのレコードが圧縮されます。
KEEPDICTIONARY を指定しない理由としては、以下のものが考えられます。
- 最後のディクショナリーが作成されてから現在までの間にデータが著しく変更されている場合は、 そのディクショナリーを再作成するとかなりの量のスペースが節約できることがある。
- 現行のディクショナリーが LOAD ユーティリティーを使用して作成されたか、長期に挿入されたレコードに基づいて DB2 によって自動的に作成されたかのいずれかの場合は、REORG を使用してディクショナリーを再作成した方が圧縮率の高いディクショナリー が作成されることがある。
以下の状況では、 KEEPDICTIONARY が無視され、 REORG は常に新しいコンプレッション・ディクショナリーを作成します。
- データが基本行フォーマットから再配列行フォーマットに変換されている場合
- REORG がバッファー・プールの保留中の変更をマテリアライズする場合
- 再編成されている区画が REORG ペンディング状況にある場合
FL 508 REORGが保留中のMOVE TABLE操作を実体化している場合
圧縮の統計を示すメッセージ DSNU234I および DSNU244I は、 REORG UNLOAD CONTINUE KEEPDICTIONARY または REORG UNLOAD PAUSE KEEPDICTIONARY が 指定されている場合は発行されません。
注: 圧縮辞書を維持するには、KEEPDICTIONARY を使用する必要があります。関連情報:
- STATISTICS
- テーブルスペースまたは関連インデックス、あるいはその両方の統計情報を収集することを指定します。統計情報は、カタログに報告または保存されます。 Db2 カタログに デフォルト・オプションで統計データを収集する場合は、表スペースの統計のみが更新されます。
STATISTICSキーワードと共にテーブルスペースのパーティションまたはパーティションの範囲を指定すると、 Db2 指定したテーブルスペース・パーティションの統計情報のみを収集します。 このオプションは、非 LOB 表スペースに対してのみ 有効です。
STATISTICS キーワードとともに 1 つの 基本表スペースを指定すると、DB2 は、 関連する XML 表スペースまたはその索引に関する統計を収集しません。
SORTNPSI AUTO または SORTNPSI YES が指定されている場合、または REORG_PART_SORT_NPSI サブシステム・パラメーターが AUTO または YES に設定されている場合、STATISTICS INDEX キーワードも指定されていると、REORG TABLESPACE PART は非パーティション化副次索引の統計を収集できます。 しかし、このような場合でも、REORG が統計を収集しないことがあります。 このような状態が発生するのは、再編成するデータ量またはオブジェクトのサイズが内部しきい値を超えたために、REORG がすべての非パーティション化索引キーをソートしないことを選択した場合です。
制約事項:- 暗号化されたデータに対して STATISTICS が指定された場合、DB2 は、 このデータに関する有用な統計を提供しない可能性 があります。
- CLONE キーワードを指定する場合は、STATISTICS を指定することはできません。
SHRLEVEL REFERENCEまたはCHANGEを伴うREORG TABLESPACE中に保留中の定義変更が実体化されると、テーブル空間とそれに関連するインデックスの両方の統計情報が収集され、カタログに更新されます。 Db2 カタログに更新されます。 この場合、REORG TABLESPACE文でSTATISTICSキーワードが指定されていない場合、以下のキーワードがデフォルトで使用されます- STATISTICS TABLE ALL
- INDEX ALL
- UPDATE ALL
- HISTORY ALL
推奨 :パーティション統計は時代遅れになる可能性があります。 使用できなくなる可能性のあるパーティション統計は、COLGROUP 統計、索引内のキー列値の統計、HISTOGRAM 統計、NUMCOLS > 1 の頻度統計、および拡張索引の統計 (該当する場合) です。 パーティション統計を再度収集するには、RUNSTATS ユーティリティーを実行します。STATISTICS TABLE キーワードによって識別されるすべての表は、TABLESPACE オプションで指定された表スペースに属している必要があります。
- TABLE
- 列情報の収集が行われる表を指定します。
LIST キーワードでは STATISTICS TABLE table-name を指定しないでください。 代わりに、STATISTICS TABLE (ALL) を指定します。
- (ALL)
- 表スペース内のすべての表のすべての列について、情報が収集されることを指定します。
REORG TABLESPACE STATISTICS TABLE ALL INDEX ALLを指定すると、パーティション・レベルと集約レベルの両方で、テーブル・スペース、テーブル、インデックスのすべての統計情報が収集されます。 
- (table-name)
- 列情報の収集が行われる表を指定します。 修飾子を省略すると、ユーティリティー・ジョブのユーザー ID が
使用されます。 名前にブランクが含まれている場合は、表名を引用符で囲みます。
指定する表が複数の場合は、TABLE オプションを繰り返す必要があります。 複数の TABLE オプションはすべて、一緒に指定される可能性のある INDEX キーワードの前または後に指定する必要があります。 例えば、2 つの TABLE キーワードの 間に INDEX キーワードを指定してはなりません。
- SAMPLE 整数
- 索引の非先行索引列または非索引列の統計の収集の際、サンプリングする行のパーセントを示します。 1 から 100 までの任意の値を指定することができます。
デフォルト値は 25です。 SAMPLE オプション を LOB 表スペースに対して指定することはできません。
USE PROFILE
表の統計を収集するために使用する保管済みの統計プロファイルを指定します。 統計プロファイルは SET PROFILE オプションを使用して作成され、UPDATE PROFILE オプションを使用して更新されます。列、列グループ、および索引の指定は、 制御ステートメントに含めることはできませんが、統計プロファイルに 保管されるときに使用されます。
指定された表に対するプロファイルが存在しない場合、デフォルトの統計が収集されます。- 表名を指定しないときは、TABLE ALL INDEX ALL がプロファイル指定に使用されます。
- 表名を指定したときは、COLUMN ALL INDEX ALL がプロファイル指定に使用されます。
USE PROFILE を指定すると、プロファイル・オプションは、メッセージ DSNU1376I の SYSPRINT に含まれます。
FL 507 さらに Db2 は、プロファイルに含まれていない既存の統計情報を削除します。 プロファイルに含まれていない全ての頻度、キー・カード、およびヒストグラム統計は、カタログから削除されます。 これらの統計は、指定された表またはパーティションについてのみ削除されます 統計はカタログ履歴表から削除されません。 UPDATE NONE または UPDATE SPACEを指定した場合、統計は削除されません。
関連情報:
- COLUMN
- 列情報の収集が行われる列を指定します。このオプションを指定できるのは、統計の収集が行われる特定の表 を指定する場合 (TABLE(table-name)) に限られます。 特定の表を指定し、 COLUMN オプションを指定しない場合は、デフォルト COLUMN(ALL) が使用されます。 TABLE オプションを使用するときに特定の表を指定しない場合、COLUMN オプションは指定できません。ただし、COLUMN(ALL) が指定されたと想定されます。
- (ALL)
- 表内のすべての列について、統計が収集されることを指定します。
- ( カラム名, ...)
- 統計の収集が行われる列を指定します。
最大 10 個の列名をリストにして指定できます。 指定する列が複数の場合は、それぞれの名前をコンマで区切ります。
- INDEX
- 情報の収集が行われる索引を指定します。 列情報の収集は、索引の最初の列について行われます。 すべての索引は同じ表スペースに関連付けられている必要があり、その表スペースは TABLESPACE オプション
で指定されたものでなければなりません。
LIST キーワードでは STATISTICS INDEX index-name を指定しないでください。 代わりに、STATISTICS INDEX (ALL) を指定します。
- (ALL)
- 表スペースに含まれる表で定義されたすべての索引について、列情報を収集することを指定します。
REORG TABLESPACE STATISTICS TABLE ALL INDEX ALLを指定すると、パーティション・レベルと集約レベルの両方で、テーブル・スペース、テーブル、インデックスのすべての統計情報が収集されます。 
- (index-name)
- 情報の収集が行われる索引を指定します。 名前にブランクが含まれている場合は、索引名を引用符で囲みます。
- COLGROUP (列名,... )
- 指定された列セットを 1 つのグループとして扱うことを示します。 このオプションにより、インライン統計では、指定された列グループでカーディナリティー値を
収集できます。 インライン統計では、XML 表スペースおよび索引の処理時に COLGROUP が
無視されます。
COLGROUP キーワードを指定した場合、インライン統計では指定された列グループの相関統計が収集されます。 インライン統計で分散統計も収集する場合は、COLGROUP とともに FREQVAL オプションを指定します。
(column-name, ...) 列グループに含まれる列の名前を指定します。
単一の1 つの列に列グループを定義するときに、 STATCLGMEMSRT オプションを指定するか、 STATCLGSRT サブシステム・パラメーターの値を変更することによって、 RUNSTATS パフォーマンスを向上させることができます。 これらのオプションを使用して、外部ソート・プログラムによる列グループ・ソートを回避できます
複数の列グループを指定する場合は、COLGROUP オプションを繰り返します。
制限事項 :COLGROUP値の長さは、 SYSIBM.SYSCOLDIST カタログテーブルのCOLVALUE列の最大長を超えることはできません。 - FREQVAL
- COLGROUP オプションと一緒に指定した場合、指定した列のグループで頻度統計も
収集されることを示します。 (COLGROUP は、カーディナリティー統計が収集されることを示し
ます。) 列ごとに 1 つの統計グループが収集されます。 COLGROUP FREQVALと一緒に COUNT 整数を指定する必要があります。
ユーティリティは、XML テーブル空間を処理するときに FREQVAL MOST/LEAST/BOTH を無視します。
- COUNT整数
指定された列グループから収集される、頻繁に発生する値の数を示します。 例えば、COUNT 20 は、DB2 が列グループから、頻繁に発生する 20 個の値を収集することを意味します。
COUNT キーワードが指定されていない場合、ユーティリティは自動的にカウント値を決定し、最も頻 繁に発生する値を収集します。
1000以上の値を指定すると、一部のSQL文の準備時間が長くなることがあります。 さらに、非常に大きなCOUNT値を指定すると、大量のストレージが使用されるため、パーティションが数百あるパーティショニングされたオブジェクトでユーティリティを実行すると、ストレージの制約が発生する可能性があります。- MOST
- COLGROUP が指定された場合に、指定された列セットについて、最も頻繁に発生する値 をユーティリティーが収集することを指示します。
- BOTH
- COLGROUP が指定された場合に、指定された列セットで発生頻度の最も高い値と最も低い値 をユーティリティーが収集することを示します。
- LEAST
- COLGROUP が指定された場合に、指定された列セットで最も発生頻度の低い値 をユーティリティーが収集することを示しています。

- HISTOGRAM
- COLGROUP オプションとともに指定された場合に、指定された列のグループに関するヒストグラム統計を収集することを示します。 インライン統計では、XML 表スペースおよび索引の処理時に HISTOGRAM が
無視されます。
インライン統計を使用して収集するヒストグラム統計は、RUNSTATS を使用して収集するヒストグラム統計と同じではありません。 インライン統計によって収集するヒストグラム統計は、単なる概算統計です。 より正確な統計を得るには、RUNSTATS を使用してください。
- NUMQUANTILES 整数
- ユーティリティーが収集する変位値の数を指定します。 この整数値は 1 以上でなければなりません。 指定する変位値の数は、列または列グループ内のそれぞれに異なる値の合計数を超えてはなりません。 変位値の最大数は 100 です。
NUMQUANTILES キーワードが省略された場合、 NUMQUANTILES の値はデフォルトの 100 になります。 表内のレコード数に 基づいて変位値の数が再調整され、最適な数に減らされます。
- KEYCARD
- KEYCARD オプションは、ユーティリティー制御ステートメントで非推奨となり、索引のキー列内の値に関するカーディナリティー統計を収集する場合に指定する必要がなくなりました。
STATISTICS オプションと INDEX オプションが指定されると、このユーティリティーは常に、索引内の 1 から n までのキー列のすべての組み合わせにある、異なるそれぞれの値をすべて収集します。n は索引内の列の数です。 KEYCARD が非推奨になったことに伴い、 この機能を使用不可にすることはできなくなりました。
このユーティリティーでは、KEYCARD オプションを指定しても許容されます。 STATISTICS と INDEX が指定されると、このユーティリティーでは、制御ステートメントに KEYCARD オプションが含まれている場合も除外されている場合も、メッセージは発行されません。
- FREQVAL
- 頻出値統計の収集を制御します。FREQVAL を指定する場合は、必ず NUMCOLS キーワードを続けて指定する必要があります
- NUMCOLS
- 指定された索引から頻度値を収集する際に、連結するキー列の数を示し ます。 「3」を指定すると、最初の 3 つのキー列の連結についての頻度値が収集されます。 デフォルト値は 1 です。これは、DB2 が索引の先頭のキー列の頻度値を 収集することを意味します。
- COUNT
- 収集する頻度値の数を示します。 「15」を指定すると、DB2 は指定されたキー列から 15 個の
頻度値を収集します。
COUNT キーワードが指定されていない場合、 Db2 は、自動的に決定された数の頻出値の統計を収集する。
- HISTOGRAM
- 指定された索引に関するヒストグラム統計が要求されることを示します。
- NUMCOLS
- 指定された索引からヒストグラム統計を収集する際に連結するキー列の数。
- NUMQUANTILES
- NUMQUANTILES に続く整数値は、要求される変位値の数を示します。 この整数値は 1 以上でなければなりません。
ヒストグラム統計は、順序が同じキーについてのみ収集できます。 ヒストグラム統計で、指定されたキー列の順序が混合している場合、DSNU633I 警告メッセージが出されます。
- REPORT
- 収集される統計を報告するためのメッセージのセットを生成するかどうかを
指定します。
- NO
- メッセージのセットが出力として SYSPRINT に送られないことを示します。
- YES
- メッセージのセットが出力として SYSPRINT に送られることを示します。 生成されるメッセージは、RUNSTATS ユーティリティーで指定する キーワード (TABLESPACE、INDEX、TABLE、COLUMN など) の組み合わせによって異なります。 ただし、これらのメッセージは UPDATE オプションの指定に応じて変わる ことはありません。 REPORT YES にすると、常に SPACE および ACCESSPATH 統計のレポートが生成されます。
- UPDATE
- 収集された統計をカタログ表に挿入するかどうかを示します。 また、UPDATE によって、アクセス・パスの選択に使用される統計、またはデータベース管理者が
使用する統計を選択することもできます。
- ALL
- 収集されたすべての統計をカタログ内で更新することを示します。
- ACCESSPATH
- アクセス・パスの選択に使用される統計を提供するカタログ表の列のみを更新することを示します。
- SPACE
- データベース管理者が、特定の表スペースまたは索引の状況を評価するときに役立つ統計を 提供するカタログ表の列のみを更新することを示します。
- NONE
- 収集された統計でカタログ表を更新しないことを示します。 このオプションは、REPORT YES が指定されている場合にのみ有効です。
STATCLGMEMSRT 整数
COLGROUP オプションで定義された単一の列に関する統計を収集するときに、ユーティリティーがレコードのソートに使用できるメモリーの量を指定します。 STATCLGMEMSRT は、外部ソート・プログラムによる列グループ・ソートを回避するために使用します。これは、統計収集のパフォーマンスに悪影響を及ぼす可能性があります。整数 は、ユーティリティーがメモリー内ソートに使用できるメモリー・スペースのメガバイト数を指定します。 ソートに必要なスペースの量が 整数 値を超える場合、ユーティリティーはソート・プログラムを呼び出します。 0を指定すると、ユーティリティーは自動的にソート・プログラムを呼び出します。
列グループのソートに必要なスペースの量は、以下の要因によって異なります。
- ユーティリティーが統計を収集している列グループの数
- 単一列の列グループの長さ
- 列内の特殊値の数 (カーディナリティー)
STATCLGMEMSRT の値は、 STATCLGSRT サブシステム・パラメーターの値をオーバーライドします。

INVALIDATECACHE 
インライン統計を収集した結果、動的ステートメント・キャッシュ内のステートメントが無効にされるかどうかを示します。 このユーティリティーがキャッシュされたステートメントを他の理由で無効にする場合、このオプションによってその動作が妨げられることはありません。- YES
- ジョブ・ステートメントで指定されたオブジェクトについて、動的キャッシュ内のステートメントが無効にされます。
- NO
- ジョブ・ステートメントで指定されたオブジェクトについては、インライン統計の収集によって動的キャッシュ内のステートメントは無効にされません。 ただし、インライン統計以外の理由 (例えば、このユーティリティーが制限状態のオブジェクトを解決する場合や、保留中の ALTER 操作を適用する場合) で、キャッシュされたステートメントがこのユーティリティーによって無効にされる場合があります。

- HISTORY
- カタログ・ヒストリー・テーブルに対するすべてのカタログ表の挿入または更新を記録することを指定します。
デフォルト値は、パネル DSNTIP6の STATISTICS HISTORY フィールドに指定されている値です。
- ALL
- 収集された統計は、すべてカタログ履歴表で更新されることを示します。
- ACCESSPATH
- アクセス・パスの選択に使用される統計を提供するカタログ履歴表の列のみを更新することを示します。
- SPACE
- スペース関連のカタログ統計のみをカタログ履歴表内で更新することを示します。
- NONE
- 収集された統計によってカタログ履歴表を更新しないことを示します。
- FORCEROLLUP
- RUNSTATS が実行された場合に、一部のパーティションで統計が収集されていない場合 (例えば、パーティションに何もデータがロードされていなかった場合) でも、統計の集約またはロールアップを行うかどうかを示します。 オプティマイザーは集約された統計を使用して、最適なアクセス・パスを選択します。
- YES
- 一部のパーティションにデータが存在しない場合でも、 集約またはロールアップ処理を強制的に行うことを示します。
- NO
- すべてのパーティションでデータが使用可能な場合に限り、 集約またはロールアップを行うことを示します。
- PUNCHDDN ddname
- REORG TABLESPACE UNLOAD EXTERNAL または REORG TABLESPACE DISCARD FROM TABLE によって生成される LOAD ユーティリティー制御ステートメントを受信するデータ・セットの DD ステートメントを指定します。。。 いつ。
ddname は DD 名です。
デフォルト値は SYSPUNCHです。
非パーティション化表スペースの最後のパーティションの限界キーの値が削減された場合は、 PUNCHDDN が必要です。
PUNCHDDN は LOB 表スペースには無効です。
PUNCHDDN キーワードには、DD 名または前の TEMPLATE 制御ステートメントにある TEMPLATE 名のいずれかを指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。
- DISCARDDN ddname
- 廃棄データ・セットの DD ステートメントを指定します。これには、 DISCARD FROM TABLE を使用するレコードのコピーが含まれます。 WHEN 指定。
ddname は DD 名です。
DISCARDDN オプションを省略すると、ユーティリティーは、JCL 入力に SYSDISC DD ステートメント がある場合のみ廃棄レコードを保管します。
デフォルト値は SYSDISC です。
この DISCARDDN キーワードは、DD名またはTEMPLATE制御文で指定されたTEMPLATE名を指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。
- UNLDDN ddname
- アンロード・データ・セットの名前を指定します。
ddname は、アンロード・データ・セットの DD 名です。
デフォルト値は SYSRECです。
UNLDDN キーワードには、DD 名または前の TEMPLATE 制御ステートメントにある TEMPLATE 名のいずれかを指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。
- SORTDEVT デバイス型
- 外部ソート・プログラムによって動的に割り振られる一時データ・セットの装置タイプを指定します。
device-type は装置タイプです。 ソート・プログラムの SORT または OPTION 制御ステートメントの DYNALLOC パラメーターで受け入れ可能な任意のディスク装置を指定することができます。 テープ装置はソート・プログラムによってサポートされていません。
SORTDEVT を省略した場合で、索引キーのソートが必要な場合は、 ソート・プログラムが一時データ・セット用に必要とする DD ステートメントを指定しなければなりません。
SORTDEVTは、 カタログとディレクトリの再編成にリストされているカタログとディレクトリのテーブル・スペースでは無視される。
SORTDEVT は、LOB 表スペースには使用できません。
このユーティリティーを使用して、TEMPLATE の指定でソート作業データ・セットを動的に割り振る ことはできません。 SORTDEVT キーワードが、これらのデータ・セットの動的割り振りを制御します。
- SORTNUM 整数
- REORG 実行するすべてのソート用に動的に割り振られる一時データ・セット数を指定します。
integer は一時データ・セット数で、可能な 範囲は 2 から 255 です。
SORTDEVT を省略した場合、SORTNUM は無視され ます。 SORTDEVT を使用し、SORTNUM を省略した場合、ソート・プログラムへ値は渡されません。 ソート・プログラムは独自の SORTNUM のデフォルト値を使用します。
各ソートごとに最低 2 つのソート用作業データ・セットが必要です。 SORTNUM 値は、このユーティリティー内の各ソート呼び出しに適用されます。 例えば、 以下の条件が真の場合、合計で 24 個のソート作業データ・セットがジョブに割り振られます。
- 3 つの索引がある。
- 並列処理を制限する制約がない。
- SORTNUM が 8 に指定されている。
各ソート作業データ・セットは、16 MB 境界より上と下の両方の仮想ストレージを使用します。 そのため、SORTNUM に指定する値が大きすぎると、このユーティリティーは仮想ストレージ制約のために並列処理の度合いを減らすことがあり、場合によっては、並列処理なしを意味する 1 にまで減らすこともあります。
重要:
IGNSORTN サブシステム・パラメータが YES に設定されている場合、SORTNUM キーワードは無視される。
カタログとディレクトリの再編成に記載されているカタログとディレクトリのテーブルスペースでは、SORTNUMは無視されます。
- PREFORMAT
- 残りのページが、再編成中の表スペースまたはパーティションに関連付けられた表スペースまたは索引スペース内の高位に割り振られた RBA まで事前フォーマット設定されることを指定します。 この事前フォーマット設定は、データがロードされ、索引が作成された後に行われます。
PREFORMAT は、表スペース全体とその索引スペースに対して、または、 パーティション化表スペースの 1 つのパーティションとそれに対応するパーティション索引スペースに対して作動可能です。 AUX YES が指定されているか、デフォルトとして受け入れられている場合、再編成中の基本パーティションに関連付けられた LOB 表スペースおよび補助索引も、RELOAD フェーズの終わりに事前フォーマット設定されます。
UNLOAD ONLY または UNLOAD EXTERNAL を指定すると、PREFORMAT は 無視されます。
- ROWFORMAT
- 影響を受ける表スペースまたはパーティションでの出力行フォーマットを指定します。 このキーワードは、CLONE 関係に関与している LOB、カタログ、ディレクトリー、XML 表スペース、ユニバーサル表スペースには影響しません。重要: ROWFORMATは非推奨であり、 Db2 12 for z/OS、つまり、その使用は推奨されていません。 このキーワードは引き続きサポートされていますが、サポートは最終的に削除される可能性があります。 Db2 12の非推奨関数 をご覧ください。
- BRF
- 再編成または置換の対象である表スペースまたはパーティションについて、基本行フォーマットに変換するか、基本行フォーマットのままにすることを指定します。
- RRF
- 再編成または置換の対象である表スペースまたはパーティションが、再配列行フォーマットに変換されるか、再配列行フォーマットのままにしておくことを指定します。
RBALRSN_CONVERSION 
REORG ユーティリティーの完了後に、ターゲット・オブジェクトの RBA または LRSN 形式を指定します。重要: RBALRSN_CONVERSIONは非推奨であり、その使用は推奨されていません。 このキーワードは引き続きサポートされていますが、サポートは最終的に削除される可能性があります。 BASIC が指定されている場合、または 6 バイト・フォーマットのオブジェクトに NONE が指定されている場合、ユーティリティーは失敗します。- EXTENDED
- 基本の 6 バイト形式のオブジェクトが検出された場合、10 バイトの拡張形式に変換されることを指定します。
EXTENDED がデフォルト値です。
- NONE
- 変換が実行されないことを指定します。
基本 6 バイト・フォーマットの表スペースに RBALRSN_CONVERSION NONE が指定されている場合、ユーティリティーは失敗します。
CLONE 関係が存在する場合、ページ・セット変換は実行できません。 クローン関係の場合、クローン表をドロップし、基本表を拡張 10 バイト形式に変換してから、クローン表を再作成しなければなりません。
AUX YES も指定された場合、LOB 表スペースおよび補助索引も変換されます。
REORG TABLESPACE の際に再構築される索引は、索引作成された表スペースと同じ RBA または LRSN 形式に変換されます。 PART レベルの REORG TABLESPACE は、パーティション化された索引の対応するパーティションを変換します。 SHRLEVEL CHANGE や REFERENCE も指定された場合や、表スペース全体が SHRLEVEL NONE で再編成された場合には、非パーティション化索引が変換されます。
6 バイト RBA や LRSN の限界に達している場合には、XML バージョン管理が行われ、 DEFINE NO と基本 6 バイトページ形式で作成された XML 表スペースへの、最初の挿入やロードを実行できないことがあります。 REORG TABLESPACE を DEFINE NO XML 表スペースで実行して、その定義を拡張 10 バイト・ページ形式に変換できます。 REORG は、表スペース全体に対して行う必要があります。

- DISCARD
- 指定された WHEN 条件を満たすレコードを REORG TABLESPACE UNLOAD CONTINUE ま
たは UNLOAD PAUSE の際に廃棄することを指定します。 JCL で DISCARDDN または SYSDISC DD ステートメントを
指定すると、廃棄されたレコードは
関連したデータ・セットに保管されます。 それ以外の場合、ユーティリティーはレコードをデータ・セットに保管しないで廃棄します。
DISCARD ではいずれの SHRLEVEL オプションも指定できます。 ただし、SHRLEVEL CHANGE を指定した場合は、再編成の際、廃棄基準に一致したデータ行への変更は許可されません。 この場合、REORG TABLESPACE はエラーを伴って終了します。
DISCARD を指定すると、行は解凍され、編集ルーチンはデコードされます。 DISCARD をファイルにも指定すると、行がフィールド・プロシージャーによってデコードされ、 以下の列が DB2 外部形式に変換されます。
- SMALLINT
- INTEGER
- FLOAT
- DECIMAL
- 時刻
- TIMESTAMP
それ以外の場合は、編集ルーチンまたはフィールド・プロシージャーは、 表スペースの UNLOAD および RELOAD の両フェーズでバイパスされます。 どのフェーズでも、妥当性検査プロシージャーは 呼び出されません。
制限事項 :以下の条件のいずれかが当てはまる場合は、DISCARDを指定しないでください- REORG TABLESPACE ステートメントに、UNLOAD EXTERNAL や UNLOAD ONLY オプションが含まれる。
- 再編成される表スペースが以下のいずれかのオブジェクトである。
- XML 列のある基本表
- XML 表スペース
- 廃棄されるレコードが 32 KB を超えていて、それらをデータ・セットに保存する場合には、LOB 列を持つ基本表。
- システム期間のテンポラル表スペース
DISCARD を指定し、再編成される表スペースに、参照整合性セットに関係する表が含まれている場合、影響を受ける参照関連オブジェクトは、 CHECK ペンディング状況に置かれます。 REORG 操作の後、この制限状況に置かれたこれらのオブジェクトのいずれかに対して CHECK DATA を実行する必要があります。
LOB列を持つテーブルでDISCARDを指定し、テーブル・スペースがパーティション分割されていない非UTSテーブル・スペースである場合、LOBデータはREORGによって削除されません。 AUX YES が指定された場合、警告メッセージ DSNU124I が返されます。AUX NO が指定された場合、またはデフォルトとして受け入れられた場合、警告メッセージは報告されません。 このような場合、CHECK DATAを実行して孤児となったLOBデータを特定し、REPAIR LOCATE ROWID VERSION DELETEを使用して手動で削除する必要があります。
NOCHECKPEND
少なくとも 1 つの参照整合性関係で、 REORG が親テーブルからレコードを破棄するときに、ユーティリティーが従属表スペースに CHECK ペンディング状況を設定しないことを指定します。 NOCHECKPEND は、 REORG が親テーブルからレコードを破棄した場合にのみ適用されます。それ以外の場合、このオプションは無視されます。 NOCHECKPEND は、 REORG 操作の前に設定された CHECK ペンディング状況を除去しません。
