13.12.3 前提条件
- 〈この項の構成〉
(1) 表の分割方法
キーレンジ分割が前提となります。表の分割方法による分割格納条件変更の適用範囲を次の表に示します。
表の分割方法 |
適用可否 |
||
---|---|---|---|
キーレンジ分割 |
格納条件指定 |
格納条件の比較演算子に=だけを使用している場合 |
○ |
格納条件の比較演算子に=以外の条件を使用している場合 |
× |
||
境界値指定 |
○ |
||
ハッシュ分割(リバランス含む) |
FIXハッシュ指定なし |
×※1 |
|
FIXハッシュ指定あり |
|||
マトリクス分割 |
境界値指定のキーレンジ分割との組み合わせ |
○※2 |
|
境界値指定のキーレンジ分割とハッシュ分割の組み合わせ |
○※3 |
- (凡例)
-
○:適用できます。
×:適用できません。
- 注※1
-
定義系SQLのALTER TABLEでADD RDAREAを指定してRDエリアの追加だけができます。
- 注※2
-
1回の実行で,一つの次元だけ変更できます。
- 注※3
-
境界値指定のキーレンジ分割の次元だけ変更できます。
(2) 表の種類による適用範囲
次の表については,分割格納条件の変更はできません。
-
非分割表:非分割表には分割格納条件がないため,分割格納条件は変更できません。
-
改竄防止表:分割格納条件の変更の指定によっては,RDエリア内の対象表のデータが削除されます。データの削除はデータの改竄となるため,改竄防止表の分割格納条件は変更できません。
-
抽象データ型を含む表:抽象データ型を含む表の分割格納条件は変更できません。
(3) 前提製品
分割格納条件を変更するためには,HiRDB Advanced High Availabilityが必要です。この製品をセットアップしないで分割格納条件を変更(ALTER TABLEのCHANGE RDAREA)しようとした場合,KFPA11948-Eメッセージを出力してALTER TABLEの実行をエラーとします。
(4) そのほかの適用範囲
(a) インデクス
分割格納条件を変更する表にインデクスが定義されている場合,インデクスの定義条件によっては分割格納条件を変更できないケースがあります。インデクスの種類と分割格納条件の変更の適用可否を次の表に示します。
インデクスの種類 |
インデクスの 分割/非分割 |
適用可否 |
---|---|---|
クラスタキーインデクス |
分割キーインデクス |
○※1 |
プライマリキーインデクス (プライマリキー及びクラスタキーを定義したインデクスを含みます) |
分割キーインデクス |
○※1 |
B-treeインデクス |
分割キーインデクス |
○※1 |
非分割キーインデクス |
○※1※2 |
|
プラグインインデクス |
該当しません。 |
× |
- (凡例)
-
○:適用できます。
×:適用できません。
- 注※1
-
インデクス格納用RDエリアの分割条件によっては,分割格納条件が変更できないことがあります。インデクス格納用RDエリアの分割条件による分割格納条件の変更可否を次の表に示します。
- 注※2
-
表格納用RDエリアと1対1に分割されている場合は,分割格納条件を変更できます。非分割キーインデクスの場合の分割格納条件の変更の適用可否を表「非分割キーインデクスの場合の分割格納条件の変更の適用可否」に示します。
表13‒5 インデクス格納用RDエリアの分割条件による分割格納条件の変更可否 インデクス格納用RDエリアの分割条件
分割格納条件の変更可否
分割
統合
分割キーインデクス
インデクス格納用RDエリアを分割している
○
○※1
インデクス格納用RDエリアを分割していない
×※2
×※3
非分割キーインデクス
表格納用RDエリアとインデクス格納用RDエリアが1対1に対応するように分割されている
インデクス格納用RDエリアを分割している
○
○※1
インデクス格納用RDエリアを分割していない
×※2
×※3
上記以外
×
×
- (凡例)
-
○:分割格納条件を変更できます。
×:分割格納条件を変更できません。
- 注※1
-
統合後にインデクス格納用RDエリアの総数が1個になる場合は,横分割インデクスから非横分割インデクスへの変更を伴うため,分割格納条件を変更できません。
- 注※2
-
非横分割インデクスから横分割インデクスへの変更を伴うため,分割格納条件を変更できません。
- 注※3
-
横分割インデクスを非分割インデクスにできるケースは,対象表を格納するRDエリアが1個のときだけです。そのため,分割格納条件を変更できません。
インデクス格納用RDエリアと表格納用RDエリアとの関係によって,分割格納条件を変更できない場合は,該当するインデクスを削除してからALTER TABLEを実行し,その後にインデクスを定義し直してください。
表格納用RDエリアを分割できないケースを次の図に示します。
表格納用RDエリア |
インデクス格納用RDエリア |
||
---|---|---|---|
サーバ間横分割 |
各サーバでのサーバ内横分割 |
サーバ間横分割あり |
サーバ間横分割なし |
あり |
あり |
○ |
× |
なし |
− |
○※ |
|
なし |
あり |
○ |
× |
なし |
− |
− |
- (凡例)
-
○:適用できます。
×:適用できません。
−:該当しません。
- 注※
-
複数の分割格納条件を同じRDエリアに格納している場合,変更できません。
(b) LOBやインデクスなどのRDエリア
分割格納条件を変更する表にLOBやインデクスなどを格納するRDエリアが定義されている場合,表以外のRDエリアも同時に表と同じように分割,又は統合する必要があります。
(c) 変更後のRDエリア
変更後のRDエリアは,次の用途では使用できません。
-
表及びインデクス格納用RDエリアとするユーザ用RDエリア以外のRDエリア
-
BLOB列格納用RDエリアとするユーザLOB用RDエリア以外のRDエリア
-
共用RDエリア
-
リバランス表,及びリバランス表に関連するリソースを格納しているRDエリア
-
インナレプリカ機能を使用したときのレプリカ世代のRDエリア(オリジナル世代のRDエリアでなければなりません)