IBM Support

[Db2] 再編成後 REORGCHK コマンドの出力に アスタリスク (*) が残ることがある

Question & Answer


Question

通常表に対する再編成を実行後に REORGCHK コマンドの出力にアスタリスク (*) が残る原因を教えてください

Answer

各公式について原因を解説します。
※ 公式に利用されている項目の意味については、REORGCHK コマンドをご参照ください。

F1:
  • <公式>
    100*OVERFLOW/CARD < 5

    <説明>
    表のオーバーフロー行の合計数は、行の合計数の 5% 以下でなければなりません。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。
    ・REORG INDEX/INDEXES ALL のみ実行している場合。

F2:
  • <公式> (通常の表の場合)
    100*TSIZE / ((100-PCTFREE)/100 * (FPAGES-NPARTITIONS) * (TABLEPAGESIZE-68)) > 70

    <説明>
    バイト単位の表のサイズ (TSIZE) は、表に割り当てられた合計スペースの 70% を超えていなければなりません 。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。
    ・REORG INDEX/INDEXES ALL のみ実行している場合。
    ・表スペースのページ・サイズ、PCTFREE、レコード・サイズの兼ね合いにより、ページが疎な状態になる場合。
     (例えば、ページ・サイズ 4KB、レコード・サイズ 2KB 強 の場合、1 ページに 1 レコードしか入らず半分近くがフリー・スペースとなるため、常に F2 が * になるといったケース)

    クラスター索引が設定されている表を再編成すると、フリー・スペース (PCTFREE) が確保されますが、公式 F2 では PCTFREE で指定した割合を超えるフリー・スペースについて検査するため、PCTFREE が 30% を超えて設定されている場合であったとしても、F2 に * が付くことはありません。

F3:
  • <公式>
    100*NPAGES/FPAGES > 80

    <説明>
    まったく行を含まないページ数は、ページ合計数の 20% より少ない値にします。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。
    ・REORG INDEX/INDEXES ALL のみ実行している場合。

F4:
  • <公式> (単一データベース・パーティションの場合)
    CLUSTERRATIO or normalized CLUSTERFACTOR > 80

    <説明>
    クラスタリング索引比率は、80% より大きくします。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。
    ・クラスター索引の存在しない表に対して、INDEXを指定せずに REORG TABLE を実行した場合。
    ・複数の索引が存在する場合。

    複数の索引が 1 つの表に定義される場合は、これらの索引のいくつかは 低いクラスター比率を持つことを避けられません。

    ある表にクラスター索引が存在するかどうかは、次の SQL で確認できます。

    db2 "select tabschema,tabname,indschema,indname,indextype from syscat.indexes where indextype='CLUS' and  tabname='tablename'"


F5:
  • <公式> (単一データベース・パーティションの場合)
    100*(KEYS*(LEAF_RECSIZE+LEAF_RECSIZE_OVERHEAD)+(INDCARD-KEYS)*DUPKEYSIZE)
    / ((LEAF-NUM_EMPTY_LEAFS-1)* (INDEXPAGESIZE-LEAF_PAGE_OVERHEAD))
    > MIN(50,(100-PCTFREE))

    <説明>
    索引のリーフ・レベルで使用されるスペースは、50 パーセントと 100-PCTFREE パーセントのうち小さい方より大きくなければなりません (これは LEAF>1 のときのみ検査されます)。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。

F6:
  • <公式>
    ((100-PCTFREE ) * ((FLOOR((100 - LEVEL2PCTFREE) / 100 *
    (INDEXPAGESIZE - NLEAF_PAGE_OVERHEAD)/(NLEAF_RECSIZE + NLEAF_RECSIZE_OVERHEAD)))*
    (FLOOR((100 - MIN(10, LEVEL2PCTFREE))/100*(INDEXPAGESIZE - NLEAF_PAGE_OVERHEAD)/
    (NLEAF_RECSIZE + NLEAF_RECSIZE_OVERHEAD)) ** (NLEVELS - 3)) *
    (INDEXPAGESIZE - LEAF_PAGE_OVERHEAD))/(KEYS*(LEAF_RECSIZE+LEAF_RECSIZE_OVERHEAD)+
    (INDCARD - KEYS) * DUPKEYSIZE ) ) < 100

    <説明>
    索引の再作成がツリーのレベル数を減少させるかどうかを判別するために、 この公式は現行のツリーよりも 1 つ低いレベルの索引ツリー内にあるスペースの量と必要なスペースの量との比率を検査します。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。
    ・索引に可変長カラムがあり、平均長よりはるかに長い索引エントリーが大量にある場合。

    この場合は、 F6 の計算結果より多くのページを必要とする可能性があります。

F7:
  • <公式>
    100 * (NUMRIDS_DELETED / (NUMRIDS_DELETED + INDCARD)) < 20

    <説明>
    疑似空白ではないページ上の疑似削除された RID の数は 20% 未満でなければなりません。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。

F8:
  • <公式>
    100 * (NUM_EMPTY_LEAFS/LEAF) < 20

    <説明>
    疑似空白リーフ・ページの数は、リーフ・ページの合計数の 20% 未満でなければなりません。

    <* が消えないケース>
    ・REORG 実行後に、RUNSTATS を実行していないにもかかわらず、CURRENT STATISTICS オプションを指定して REORGCHK を実行している場合。


参考情報
REORGCHK コマンド

関連情報
 
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlMAAU","label":"Data Movement-\u003EReorg"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
31 August 2023

UID

swg21698168