CHECK INDEX 制御ステートメントの構文とオプション

CHECK INDEX ユーティリティー制御ステートメントは、複数のオプションを使用して、 ユーティリティー・ジョブが実行する機能を定義します。

制御ステートメントは、ISPF/PDF 編集機能を使って作成することができます。 制御ステートメントを作成した後、それを順次データ・セットまたは区分データ・セットに 保管します。 ジョブを実行するための JCL を作成するときは、SYSIN DD ステートメントを使用して、ユーティリティー 制御ステートメントを格納するデータ・セットの名前を指定してください。

構文図

構文図を読むビジュアルシンタックスダイアグラムをスキップする CHECK INDEX LISTリスト定義名( index-namePART整数)(すべて)TABLESPACEdatabase-name.table-space-namePART整数CLONESHRLEVELREFERENCESHRLEVELCHANGEDRAIN_WAITIRLMRWT値DRAIN_WAIT整数RETRYUTIMOUT値RETRY整数RETRY_DELAY計算済みデフォルトRETRY_DELAY整数SORTDEVTdevice-typeSORTNUM整数PARALLEL0PARALLELサブタスク数

オプションの説明

索引
索引の整合性をチェックすることを示します。
LIST リスト定義名
前に定義された LISTDEF リスト名の名前を指定し ます。 リスに含まれているのは、索引スペースのみ です。 索引または表スペースの名前を指定しないでください。 DB2 は、索引をそれらと関連付けられた表スペース別にグループ化し、表スペースごとに 1 回ずつ CHECK INDEX を実行します。 CHECK INDEX では、それぞれの制御ステートメントごとに 1 つの LIST キーワードを使用 できます。 このユーティリティーは、CLONE キーワードが指定されている場合のみクローン・データを処理します。 LISTDEF ステートメントで CLONED YES を使用するのでは不十分です。

パーティションまたは パーティション範囲をリストに指定できます。

(index-name, …)
チェックすべき索引を指定します。 すべての索引は同じ表スペース内の表に属している必要があります。 このオプションを省略する場合は、(ALL) TABLESPACE オプションを使用する必要があります。 この場合、CHECK INDEX は、指定された表スペース内のすべての表の全索引を検査します。

index-name は、索引の名前であり、creator-id.name の形式です。 修飾語 creator-id. を省略すると、 ユーティリティジョブのユーザ識別子が使用されます。 名前のリストを使用する場合は、リストの項目をコンマで区切ります。 名前または名前のリストを括弧で囲む必要があります。 名前にブランクが含まれている場合は、索引名を引用符で囲みます。

PART整数
整合性を検査する対象の、パーティション化索引の物理パーティション、または 非パーティション化索引の論理パーティションを指定します。 非パーティション化表スペースの索引を指定すると、エラーが発生します。

integer は物理パーティション番号です。 1 から、表スペースに定義されたパーティション数までの範囲でなければなりません。 最大は 4096 です。

PART キーワードが指定されていない場合は、CHECK INDEX はターゲット索引全体 の整合性をテストします。

(すべて)
指定された表スペース内の、その表スペースによって参照されているすべての索引を検査することを指定します。
テーブル空間 database-name.table-space-name
すべての索引のチェックが行われる表スペースを指定します。 索引名の明示リストが与えられていない場合は、 指定された表スペースのすべての表の全索引が検査されます。

TABLESPACE は、索引名の明示リストには指定しないでください。

database-name は、表スペースが属しているデータベースの名前です。 デフォルト値は DSNDB04です。

table-space-name は、すべての索引が検査される表スペースの名前です。

CLONE
指定された索引のうちクローン表の索引のみを CHECK INDEX が検査する ことを指示します。 このユーティリティーは、CLONE キーワードが指定されている場合のみクローン・データを処理します。 LISTDEF ステートメントで CLONED YES を使用するのでは不十分です。
SHRLEVEL
検査される索引、表スペース、またはパーティションに対して CHECK INDEX 処理中に許可されるアクセス のタイプを示します。
のリファレンス
CHECK INDEX 処理の際にチェックされる索引、表スペース、またはパーティションから読み取り可能で、 書き込みは不可能なアプリケーションを示します。

SHRLEVEL REFERENCE が指定されるか、デフォルトでこの値が使用されると、DB2 は索引項目を アンロードし、索引項目をソートし、データをスキャンして索引項目を検証します。

CHANGE
アプリケーションはチェックされる索引、表スペース、またはパーティションから読み取り可能で、 書き込みは不可能なアプリケーションを示します。

SHRLEVEL CHANGE が指定されていると、DB2 は以下の アクションを実行します。

  • すべての書き込みプログラムをドレーンし、指定されたオブジェクトとそのすべての索引用に、 バッファーを強制的にディスクに書き込む。
  • DFSMSdssを呼び出して、指定されたオブジェクトとすべてのインデックスをシャドウデータセットにコピーします
  • 指定されたオブジェクトとそのすべての索引のための読み取り/書き込みアクセスを使用可能にする。
  • シャドー・データ・セットで CHECK INDEX を実行する。

デフォルトでは、DFSMSdssは FlashCopy® を使用して Db2 オブジェクトをシャドウ・データセットにコピーします。 FlashCopy が利用可能な場合。 FlashCopy, が使用できない場合、DFSMSdssはより低速な方法を使用します。 結果として、オブジェクトのコピーの作成に長い時間がかかり、データと索引が読み取り専用アクセスになる時間が増える可能性があります。 CHECK_FASTREPLICATION サブシステムパラメータを REQUIRED に設定すると、CHECK ユーティリティが FlashCopy のみを使用するように強制することができます。 FlashCopy が利用できない場合、CHECKユーティリティは失敗します。

DRAIN_WAIT 整数
表スペースまたは索引をドレーンする際の CHECK INDEX の待ち時間を秒数で指定します。 指定された時間は、チェックされるオブジェクトについて集約した時間です。 この値は、IRLMRWT および UTIMOUT サブシステム・パラメーターによって指定された値を オーバーライドします。

integer は 0 から 1800 まで任意の整数 です。 DRAIN_WAIT が指定されていない場合、あるいは値 0 が指定された場合、CHECK INDEX は ロック・タイムアウト・サブシステム・パラメーター IRLMRWT の値を使用します。

RETRY 整数
CHECK INDEX がオブジェクトのドレーンの試行を続行する最大回数を指定します。

integer は 0 から 255 まで任意の整数です。 0 以外の値が指定されていると、処理コストが増加し、 指定された索引、表スペース、またはパーティションが読み取り専用アクセスになる期間が、 長引いたり複数期間になってしまう恐れがあります。

RETRY を指定しない場合は、CHECK INDEX はユーティリティー乗数サブシステム・パラメーター の UTIMOUT を使用します。

RETRY_DELAY 整数
オブジェクトのドレーンの再試行と再試行の間の最小期間 (秒) を指定します。 integer は 1 から 1800 まで任意の整数です。

RETRY_DELAY を指定しない場合は、CHECK INDEX は以下の 2 つの値の小さい方を使用します。

  • DRAIN_WAIT 値 × RETRY 値
  • DRAIN_WAIT 値 × 10
SORTDEVT 装置タイプ
外部ソート・プログラムによって動的に割り振られる一時データ・セットの装置タイプを指定します。 ソート・プログラムの SORT または OPTION 制御ステートメントの DYNALLOC パラメーターで受け入れ可能なディスク装置タイプであれば、任意のタイプを指定できます。

TEMPLATE 指定では、ソート作業データ・セットの動的割り振りは行われま せん。 SORTDEVT キーワードが、これらのデータ・セットの動的割り振りを制御します。

device-type は装置タイプです。 SORTDEVT を省略した場合で、ソートが必要な場合は、 ソート・プログラムが一時データ・セット用に必要とする DD ステートメントを指定しなければなりません。

SORTNUM 整数
ソート・プログラムによって動的に割り振られる一時データ・セット数を 指定します。

integer は一時データ・セット数で、可能な 範囲は 2 から 255 です。

SORTDEVT を省略した場合、SORTNUM は無視され ます。 SORTDEVT を使用し、SORTNUM を省略した場合、ソート・プログラムへは値は 渡されません。ソート・プログラムでは、それ自体のデフォルトを使用します。

各ソートごとに最低 2 つのソート用作業データ・セットが必要です。 SORTNUM 値は、このユーティリティー内の各ソート呼び出しに適用されます。 例えば、 CHECK INDEX が 3 つの索引を検査しているとします。並列処理を制限するための制約は存在せず、 SORTNUM 8を指定します。 この場合、ジョブには合計 24 個のソート作業データ・セットが割り振られます。

各ソート作業データ・セットは、16 MB 境界より上と下の両方の仮想ストレージを使用します。 そのため、SORTNUM に指定する値が高すぎると、仮想ストレージ制約のためにユーティリティーの並列処理の度合いが減る可能性があります。 並列処理の度合いは最大で 1 まで減る可能性があり、それは並列処理を使用しないことを意味します。

PARALLEL num-subtasks
索引の一貫性を検査するサブタスクを並行して開始する際の最大数を指定します。

num-subtasks の値は 0 以上 32767 以下の整数でなければなりません。 num-subtasks に指定された値が 32767 より大きい場合、CHECK INDEX ステートメントは失敗します。 num-subtasks に 0 が指定された場合、または値が指定されない場合、CHECK INDEX ユーティリティーは並列サブタスクの最適数を使用します。 num-subtasks に指定された値が、計算された最適数よりも大きい場合、CHECK INDEX ユーティリティーは、制約を適用して並列サブタスクの数を最適数に制限します。 通常、CHECK INDEX は、2 個または 3 個からなるグループとしてサブタスクを割り振ります。 そのため、開始されるサブタスクの実際の数は、PARALLEL オプションで指定した数より少なくなることがあります。

PARALLEL で指定するサブタスク数は、PARAMDEG_UTIL サブシステム・パラメーターの値を常にオーバーライドします。 したがって、PARALLEL は PARAMDEG_UTIL の値より小さくすることも大きくすることもできます。