スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
格納条件の変更規則について説明します。
格納条件を変更するときは,次の表に示す上限値の規則を守ってください。
表13-18 分割機能での上限値(格納条件指定の場合)
| 項目 | 上限値 | 上限値を超えた場合の動作 |
|---|---|---|
| 分割の対象にできるRDエリア数 | 1 | ALTER TABLEをエラーとします。 |
| 1回の操作で分割できる数 | 16 | |
| 分割した結果の総分割RDエリア数 | 1,024 | |
| 分割後の総格納条件数(格納条件を指定していないRDエリアも含む) | 15,000 |
分割対象となるRDエリアは一定の条件を満たしている必要があります。RDエリアの分割可否を次の表に示します。
表13-19 RDエリアの分割可否
| 分割対象RDエリア※1 | 表に定義した格納条件 | 分割 可否 |
説明 |
|---|---|---|---|
| 格納条件を指定したRDエリアの場合 | 分割対象RDエリアに格納条件を一つだけ指定している | × | ALTER TABLEがエラーになります。 |
| 分割対象RDエリアに格納条件を二つ以上指定している | ○ | 格納条件を指定したRDエリアを分割する例を図13-35に示します。 | |
| 格納条件を指定していないRDエリアの場合 | − | ○ | 格納条件を指定していないRDエリアを分割する例を図13-36に示します。 |
| OTHERS指定※2のRDエリアの場合 | 格納条件が全RDエリアに指定されている | ○ | OTHERS指定のRDエリアを分割する例を図13-37に示します。 |
| 格納条件なしのRDエリアがある | × | ALTER TABLEがエラーになります。 OTHERS指定のRDエリアを分割できない例を図13-38に示します。 |
図13-35 格納条件を指定したRDエリアを分割する例
図13-36 格納条件を指定していないRDエリアを分割する例
図13-37 OTHERS指定のRDエリアを分割する例
図13-38 OTHERS指定のRDエリアを分割できない例
格納条件指定の分割時,実体のないダミーのRDエリアを分割できます。また,分割後に実体のあるRDエリアとダミーのRDエリアに分割することもできます。この実体のないダミーのRDエリアをOTHERS指定のRDエリアといいます。OTHERS指定のRDエリアは,格納条件なしのRDエリアと仮定されて分割又は統合処理が行われます。OTHERS指定のRDエリアの利用方法を次に示します。
ALTER TABLEのCHANGE RDAREAに指定した分割後の格納条件とRDエリアに従ってデータを格納するRDエリアが決まります。分割後のRDエリアは,分割対象RDエリアでもよいし,新たに用意したRDエリアでもかまいません。ただし,分割後のRDエリア名に重複した名称を指定できません。
分割対象RDエリアと分割後RDエリアの組み合わせ可否について以下に説明します。
分割対象RDエリア(複数の格納条件を指定したRDエリア)と分割後RDエリアの組み合わせ可否を次の表に示します。
表13-20 分割対象RDエリア(複数の格納条件を指定したRDエリア)と分割後RDエリアとの組み合わせ可否
| ALTER TABLEのCHANGE RDAREAに 指定する分割後RDエリアの条件 |
分割後RDエリアとしての指定可否 | ||
|---|---|---|---|
| 格納条件なしのRDエリアがある場合 | 全RDエリアに格納条件が指定されている場合 | ||
| 分割対象RDエリアを指定しない場合 | 新規のRDエリアだけを指定している | ○(図13-39を参照) | |
| 格納条件指定ありのRDエリアを含んでいる | ×(図13-41を参照) | ||
| 格納条件指定なしのRDエリアを含んでいる | ×(図13-41を参照) | − | |
| OTHERS指定のRDエリアを指定 | ×(図13-42を参照) | ||
| 分割対象RDエリアを指定する場合 | 分割対象RDエリア以外は新規のRDエリアである | ○(図13-40を参照) | |
| 格納条件指定ありのRDエリアを含んでいる | ×(図13-41を参照) | ||
| 格納条件指定なしのRDエリアを含んでいる | ×(図13-41を参照) | − | |
| OTHERS指定のRDエリアを指定 | ×(図13-42を参照) | ||
図13-39 分割できるケース(その1)
図13-40 分割できるケース(その2)
図13-41 分割できないケース(その1)
図13-42 分割できないケース(その2)
分割対象RDエリア(格納条件なしのRDエリア)と分割後RDエリアの組み合わせ可否を次の表に示します。
表13-21 分割対象RDエリア(格納条件なしのRDエリア)と分割後RDエリアの組み合わせ可否
| ALTER TABLEのCHANGE RDAREAに 指定する分割後RDエリアの条件 |
分割後RDエリアとしての指定可否 | |||
|---|---|---|---|---|
| 格納条件なしのRDエリアがある場合 | 全RDエリアに格納条件が指定されている場合 | |||
| 分割対象RDエリアを指定しない場合 | 新規のRDエリアだけを指定している | OTHERS指定のRDエリアを含まない | ○(図13-43を参照) | − |
| OTHERS指定のRDエリアを含む | ○(図13-44を参照) | − | ||
| 格納条件指定ありのRDエリアを含んでいる | ×(図13-47を参照) | − | ||
| 分割対象RDエリアを指定する場合 | 分割対象RDエリア以外は新規のRDエリアである | OTHERS指定のRDエリアを含まない | ○(図13-45を参照) | − |
| OTHERS指定のRDエリアを含む | ○(図13-46を参照) | − | ||
| 格納条件指定ありのRDエリアを含んでいる | ×(図13-47を参照) | − | ||
図13-43 分割できるケース(その3)
図13-44 分割できるケース(その4)
図13-45 分割できるケース(その5)
図13-46 分割できるケース(その6)
図13-47 分割できないケース(その3)
分割対象RDエリア(OTHERS指定のRDエリアを分割対象とする場合)と分割後RDエリアの組み合わせ可否を次の表に示します。
表13-22 分割対象RDエリア(OTHERS指定のRDエリアを分割対象とする場合)と分割後RDエリアの組み合わせ可否
| ALTER TABLEのCHANGE RDAREAに 指定する分割後RDエリアの条件 |
分割後RDエリアとしての指定可否 | ||
|---|---|---|---|
| 格納条件なしのRDエリアがある場合 | 全RDエリアに格納条件が指定されている場合 | ||
| 分割後のRDエリアにOTHERS指定のRDエリアがある場合 | 新規のRDエリアだけを指定している | × | ○(図13-48を参照) |
| 格納条件指定ありのRDエリアを含んでいる | × | ×(図13-50を参照) | |
| 分割後のRDエリアにOTHERS指定のRDエリアがない場合 | 新規のRDエリアだけを指定している | × | ○(図13-49を参照) |
| 格納条件指定ありのRDエリアを含んでいる | × | ×(図13-50を参照) | |
分割対象RDエリアに対して分割後の格納条件を指定します。このときの格納条件は次に示す条件をすべて満たす必要があります。
分割後の格納条件の指定可否を次の表に示します。
表13-23 分割後の格納条件の指定可否
| 分割対象RDエリア | 分割後の格納条件の指定内容 | 指定可否 | |
|---|---|---|---|
| 格納条件を指定したRDエリアの場合 | 分割対象RDエリアに含まれている格納条件を指定する | すべての格納条件を指定する | ○ |
| 一部の格納条件を指定しない | × | ||
| 分割対象RDエリアに含まれない格納条件を指定する | × | ||
| 格納条件を指定しない | × | ||
| 格納条件を指定していないRDエリアの場合 | 表定義で指定済みの格納条件を含んでいる | × | |
| 表定義で指定済みの格納条件を含んでいない | 格納条件を指定していないRDエリアがある | ○ | |
| 格納条件を指定していないRDエリアがない | × | ||
| OTHERS指定のRDエリアの場合 | 表定義で指定済みの格納条件を含んでいる | × | |
| 表定義で指定済みの格納条件を含んでいない | ○ | ||
なお,分割後の格納条件には,分割後の1RDエリアに対して,一つ以上の格納条件を指定できます。
格納条件を変更する表に分割キーインデクスなどが定義されている場合,表格納用RDエリアを分割したときに,インデクス格納用RDエリアも同様に分割する必要があります。格納条件を変更するときに分割対象となるリソースを次の表に示します。
表に分割キーインデクスなどが定義されている場合の分割例を次の図に示します。
表13-24 格納条件を変更するときに分割対象となるリソース
| 表に定義されているリソース | 分割方法 |
|---|---|
| インデクス | 表格納用RDエリアと1対1になるように分割してください。 |
| クラスタキー | |
| プライマリキー | |
| LOB列 |
図13-51 表に分割キーインデクスなどが定義されている場合の分割例
また,分割時には次に示す規則があります。
ALTER TABLEの実行時,分割対象RDエリア内のデータは通常削除されます。また,対応する次のRDエリア内のデータも削除されます。
分割時に削除対象となるデータを次の図に示します。
図13-52 分割時に削除対象となるデータ
次に示す条件をすべて満たす場合は,分割対象RDエリア内のデータをそのまま使用できる可能性があるため,データを削除しないようにできます。
データを削除しない場合は,ALTER TABLEでWITHOUT PURGEを指定してください。なお,分割対象RDエリアを分割後にも使用する指定をしていない場合にWITHOUT PURGEを指定すると,ALTER TABLEの実行時にエラーとなります。
WITHOUT PURGEが有効なケースを図13-53に,WITHOUT PURGEがエラーとなるケースを図13-54に示します。
図13-53 WITHOUT PURGEが有効なケース
図13-54 WITHOUT PURGEがエラーとなるケース
WITHOUT PURGEを指定して分割した場合,HiRDBはRDエリア内の全データが分割後の格納条件と一致しているかどうかのチェックを行いません。格納条件対象外のデータがRDエリア中にあると,SQLを実行するときにHiRDBが正しく動作しません。このため,WITHOUT PURGE指定をして格納条件を変更する場合は,分割対象RDエリア内のデータを確認するようにしてください。
次に示す条件をすべて満たす場合,分割後のRDエリアはすべて格納条件を指定したRDエリアになります(分割後,格納条件なしのRDエリアがなくなります)。
このため,分割後の格納条件に合わないデータがあると,そのデータは格納先RDエリアがなくなります。分割後に格納先RDエリアがなくなる例を次の図に示します。
図13-55 分割後に格納先RDエリアがなくなる例
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.