インデックスのDSIの定義は、CREATE DSI文を使用して行います。インデックスのDSI定義はインデックスのDSO定義に従ってデータベーススペースとの割付けを行います。
すでにデータが格納されている表のDSIに対して、新たなインデックスのDSI定義を追加することが可能です。
インデックスのDSI定義の例を以下に示します。
インデックスのDSI定義
CREATE DSI 製品番号IXDSI INDEX DSO 製品番号IXDSO ↑ ↑ DSI名 DSO名 BASE 在庫表DSI ↑ 表のDSI名 ALLOCATE BASE ON DBSP_1 SIZE 200K, ←スペース割付け INDEX ON DBSP_1 SIZE 40K, ←スペース割付け ↑ ↑ データベース 割付け量 スペース名 EXPAND ON DBSP_1 ALARM 150K CAPACITY 0K SIZE 1M ↑ ↑ ↑ ↑ 容量拡張先 アラーム 拡張契機 拡張量 データベース ポイント スペース名
DSI名には、36文字以内の先頭が英字で始まる英数字、または18文字以内の日本語文字列を指定します。なお、DSI名は、データベース内で一意です。
DSO名
CREATE DSO文で指定したインデックスのDSO名を指定します。
表のDSI名
対応する実表をDSI名で指定します。表の分割運用を行う場合、インデックスは、表のDSIごとに作成します。表の分割運用を行わない場合は、表のDSI名を指定することはできません。
インデックスのDSIに対して物理的なスペースを割り付ける指定をします。
データを物理的に格納するデータベーススペース名およびデータベーススペース中に、このDSI用に獲得する格納領域の大きさを指定します。
データベーススペース名
実際にインデックスのデータを格納する、物理的なデータベーススペース名を指定します。
スケーラブルログ運用を行う場合、データを複数のデータベーススペースに格納するときは、同じロググループ内のデータベーススペース名を指定します。
また、データを暗号化する場合は、以下の注意事項があります。
1つまたは複数のDSIの割付け先として、複数のデータベーススペースを指定する場合、データベーススペースの暗号化の指定を統一してください。
表のDSIおよびインデックスのDSIを定義する場合、データベーススペースの暗号化の指定は、統一する必要がありません。
割付け量には、データベーススペース中に獲得する格納領域の大きさを、符号なし整数と単位記号(KまたはM)の組合せで指定します。単位記号Kはキロバイト、単位記号Mはメガバイトを示します。
割付け対象のデータベーススペースに、割付け量分の連続領域が存在しない場合、複数の領域に分割して割付けることがあります。複数の領域に分割されたかどうかは、rdbprtコマンドの出力結果で確認できます。DSI情報のAllocation informationのAllocate sizeに、指定した割付け量以下の値が表示された場合、複数の領域に分割して割付けられたと判断できます。
参照
rdbprtコマンドの詳細については、“コマンドリファレンス”を参照してください。
自動容量拡張するデータベーススペース名を指定します。
スケーラブルログ運用を行う場合、データを複数のデータベーススペースに格納するときは、同じロググループ内のデータベーススペース名を指定します。
また、データを暗号化する場合は、以下の注意事項があります。
1つまたは複数のDSIの割付け先として、複数のデータベーススペースを指定する場合、データベーススペースの暗号化の指定を統一してください。
表のDSIおよびインデックスのDSIを定義する場合、データベーススペースの暗号化の指定は、統一する必要がありません。
容量拡張定義を省略した場合、省略値は以下となります。
拡張領域の割付け先: DSIの割付け先のデータベーススペース
アラームポイント : 【ベース部の割付け量 × 80%】以下となるページ長の倍数の最大値
拡張契機 : 0キロバイト
拡張量 : 1024キロバイト
注意
容量拡張先データベーススペースには、拡張量に指定した値以上の空き領域を用意してください。
また容量拡張定義を省略した場合、DSIの割付け先のデータベーススペースを容量拡張先データベーススペースとするため、DSIの割付け先のデータベーススペースに拡張量に指定した値以上の空き領域を用意してください。
アラームポイントの契機をDSIの使用容量で指定します。
使用容量は、符号なし整数と単位記号(KまたはM)の組合せで指定します。単位記号Kはキロバイト、単位記号Mはメガバイトを示します。
自動容量拡張の拡張契機をDSIの空きページ容量で指定します。
空きページ容量は、符号なし整数と単位記号(KまたはM)の組合せで指定します。単位記号Kはキロバイト、単位記号Mはメガバイトを示します。
DSIの拡張領域の割付け量として、ベース部のページ長以上の値を指定します。
拡張量は、符号なし整数と単位記号(KまたはM)の組合せで指定します。単位記号Kはキロバイト、単位記号Mはメガバイトを示します。
拡張量は、ページ長単位に繰り上げますので、ベース部のページ長の倍数で指定してください。
インデックス部の拡張量は、ベース部の5分の1の値となります。ベース部の5分の1がインデックス部のページ長の倍数でない場合、インデックス部のページ長の倍数に繰り上げます。
割付け対象のデータベーススペースに、拡張量分の連続領域が存在しない場合、複数の領域に分割して割付けることがあります。複数の領域に分割されたかどうかは、rdbprtコマンドの出力結果で確認できます。DSI情報のAllocation informationのAllocate sizeに、指定した拡張量以下の値が表示された場合、複数の領域に分割して割付けられたと判断できます。