13.12.9 RDエリアの統合(格納条件指定の場合)
- 〈この項の構成〉
(1) 格納条件の変更規則
格納条件の変更規則について説明します。
(a) 上限値及び下限値
格納条件を変更するときは,次の表に示す上限値及び下限値の規則を守ってください。
項目 |
上限値 |
下限値 |
上限値又は下限値を 超えた場合の動作 |
---|---|---|---|
一度に統合の対象にできるRDエリア数 |
16 |
2 |
ALTER TABLEをエラーとします。 |
ALTER TABLEの実行後,統合されるRDエリア数 |
1(固定) |
||
統合した結果のRDエリアの総数 |
− |
1 |
(凡例)−該当しません。
(b) 統合時の規則
統合対象となるRDエリアは一定の条件を満たしている必要があります。RDエリアの統合可否を次の表に示します。
統合対象RDエリア |
統合 可否 |
説明 |
|
---|---|---|---|
統合対象RDエリアは,表定義に指定されたRDエリアである |
○ |
RDエリアを統合できます。 |
|
統合対象RDエリアに,表定義に指定されていないRDエリアがある |
× |
ALTER TABLEがエラーになります。 |
|
OTHERS指定のRDエリア※ |
すべてのRDエリアに格納条件が指定されている |
○ |
OTHERS指定のRDエリアを統合する例を図「OTHERS指定のRDエリアを統合する例」に示します。 |
格納条件なしのRDエリアがある |
× |
ALTER TABLEがエラーになります。 OTHERS指定のRDエリアを統合できない例を図「OTHERS指定のRDエリアを統合できない例」に示します。 |
- (凡例)
-
○:統合できます。
×:統合できません。
- 注※
-
OTHERS指定のRDエリアについては,「OTHERS指定のRDエリア」を参照してください。
図13‒56 OTHERS指定のRDエリアを統合する例 図13‒57 OTHERS指定のRDエリアを統合できない例
(2) OTHERS指定のRDエリア
格納条件指定の統合時,実体のないダミーのRDエリアを統合対象にできます。また,ダミーのRDエリアに統合することもできます。この実体のないダミーのRDエリアをOTHERS指定のRDエリアといいます。OTHERS指定のRDエリアは,格納条件なしのRDエリアと仮定されて分割又は統合処理が行われます。OTHERS指定のRDエリアの利用方法を次に示します。
-
既存の格納条件を削除したり,格納条件なしのRDエリアを作成したりできる
OTHERS指定のRDエリアを統合対象RDエリアに含めることで,既存の格納条件を削除したり,格納条件なしのRDエリアを作成したりできます。具体例については,図「OTHERS指定のRDエリアを統合する例」を参照してください。
-
格納条件ありのRDエリアを削除できる
統合対象RDエリアに,格納条件なしのRDエリア又はOTHERS指定のRDエリアがある場合,統合後のRDエリアにOTHERS指定のRDエリアを指定できます。OTHERS指定のRDエリアは格納条件なしのRDエリアと仮定されるため,格納条件ありのRDエリアと一緒に統合すると,格納条件ありのRDエリアを削除できます。具体例については,「統合後のRDエリアの決定方法」を参照してください。
(3) 統合後のRDエリアの決定方法
ALTER TABLEのCHANGE RDAREAに統合後のRDエリアを指定します。このRDエリアには,統合対象RDエリアの全格納条件を満たすデータが格納されます。統合後のRDエリアは,統合対象RDエリアの中の一つであってもよいし,新たに用意したRDエリアでもかまいません。
ただし,統合時の条件によっては統合できないこともあります。統合対象RDエリアと統合後RDエリアの組み合わせ可否について以下に説明します。
(a) 統合後のRDエリア総数の条件
統合後のRDエリアの総数について条件があります。統合時の条件と統合後のRDエリア総数の関係を次の表に示します。
統合時の条件 |
統合後のRDエリアの総数 |
|||
---|---|---|---|---|
統合対象表の条件 |
統合対象RDエリアの条件 |
1個 |
2個以上 |
|
格納条件なしのRDエリアがある |
OTHERS指定のRDエリアがある |
×※1 |
||
OTHERS指定のRDエリアがない |
格納条件なしのRDエリアがある |
×(図「統合できないケース(その1)」を参照) |
○(図「統合できるケース(その1)」を参照) |
|
格納条件なしのRDエリアがない |
− |
○(図「統合できるケース(その2)」を参照) |
||
格納条件なしのRDエリアがない |
OTHERS指定のRDエリアがある |
×(図「統合できないケース(その2)」を参照) |
○(図「統合できるケース(その3)」を参照) |
|
OTHERS指定のRDエリアがない |
○※2(図「統合できるケース(その4)」を参照) |
○(図「統合できるケース(その5)」を参照) |
- (凡例)
-
○:統合できます。
×:統合できません。
−:該当しません。
- 注※1
-
統合対象表に格納条件なしのRDエリアがある場合は,統合対象RDエリアにOTHERS指定のRDエリアを指定することはできません。
- 注※2
-
統合対象表にインデクスが定義されている場合は統合できません。
図13‒58 統合できるケース(その1) 図13‒59 統合できるケース(その2) 図13‒60 統合できるケース(その3) 図13‒61 統合できるケース(その4) 図13‒62 統合できるケース(その5) 図13‒63 統合できないケース(その1) 図13‒64 統合できないケース(その2)
(b) 格納条件ありのRDエリアだけを統合対象とする場合
統合後のRDエリアの指定条件と統合可否(格納条件ありのRDエリアだけを統合対象とする場合)を次の表に示します。
統合後のRDエリアの指定条件 |
統合可否 |
|
---|---|---|
統合対象RDエリアを統合後に使用しない |
表格納RDエリアのどれかを統合後のRDエリアに指定する |
×(RDエリアの指定誤り) |
表格納RDエリア以外のRDエリアを統合後のRDエリアに指定する |
○(図「統合できるケース(その6)」を参照) |
|
OTHERS指定のRDエリアを統合後のRDエリアに指定する |
×(図「統合できないケース(その3)」を参照) |
|
統合対象RDエリアを統合後に使用する |
○(図「統合できるケース(その7)」を参照) |
- (凡例)
-
○:統合できます。
×:統合できません。
図13‒65 統合できるケース(その6) 図13‒66 統合できるケース(その7) 図13‒67 統合できないケース(その3)
(c) 格納条件なしのRDエリアを統合対象とする場合
統合後のRDエリアの指定条件と統合可否(格納条件なしのRDエリアを統合対象とする場合)を次の表に示します。
統合後のRDエリアの指定条件 |
統合後の表格納RDエリアの条件 |
||
---|---|---|---|
格納条件なしのRDエリアがある場合 |
格納条件なしのRDエリアがない場合 |
||
統合対象RDエリアを統合後に使用しない |
表格納RDエリアのどれかを統合後のRDエリアに指定する |
×(RDエリアの指定誤り) |
− |
表格納RDエリア以外のRDエリアを統合後のRDエリアに指定する |
○(図「統合できるケース(その8)を参照」) |
− |
|
OTHERS指定のRDエリアを統合後のRDエリアに指定する |
○(図「統合できるケース(その9)を参照」) |
− |
|
統合対象RDエリアを統合後に使用する |
○(図「統合できるケース(その10)を参照」) |
− |
- (凡例)
-
○:統合できます。
×:統合できません。
−:該当しません。
図13‒68 統合できるケース(その8) 図13‒69 統合できるケース(その9) 図13‒70 統合できるケース(その10)
(d) OTHERS指定のRDエリアを統合対象とする場合
統合後のRDエリアの指定条件と統合可否(OTHERS指定のRDエリアを統合対象とする場合)を次の表に示します。
統合後のRDエリアの指定条件 |
統合後の表格納RDエリアの条件 |
||
---|---|---|---|
格納条件なしのRDエリアがある場合 |
格納条件なしのRDエリアがない場合 |
||
統合対象RDエリアを統合後に使用しない |
格納条件ありのRDエリアを統合後のRDエリアに指定する |
×(OTHERS指定不可) |
×(統合対象に存在しないRDエリアを指定している) |
表格納RDエリア以外のRDエリアを統合後のRDエリアに指定する |
×(OTHERS指定不可) |
○(図「統合できるケース(その11)」を参照) |
|
OTHERS指定のRDエリアを統合後のRDエリアに指定する |
×(OTHERS指定不可) |
○(図「統合できるケース(その12)」を参照) |
|
統合対象RDエリアを統合後に使用する |
格納条件ありのRDエリアを統合後のRDエリアに指定する |
×(OTHERS指定不可) |
○(図「統合できるケース(その11)」を参照) |
OTHERS指定のRDエリアを統合後のRDエリアに指定する |
×(OTHERS指定不可) |
○(図「統合できるケース(その12)」を参照) |
- (凡例)
-
○:統合できます。
×:統合できません。
図13‒71 統合できるケース(その11) 図13‒72 統合できるケース(その12)
(4) 表に分割キーインデクスなどが定義されている場合
統合対象表に分割キーインデクスなどが定義されている場合,表格納用RDエリアだけでなく,インデクス格納用RDエリアも同様に統合する必要があります。同時に統合する必要があるリソースを次の表に示します。
また,表に分割キーインデクスなどが定義されている場合の統合例を次の図に示します。
表に定義されているリソース |
統合方法 |
---|---|
インデクス |
表格納用RDエリアと1対1になるように統合してください。 |
クラスタキー |
|
プライマリキー |
|
LOB列 |
また,統合時には次に示す規則があります。
-
リソースが複数定義されている場合は,すべてのリソースが統合対象になります。
-
統合指定が正しくない場合,ALTER TABLEの実行時にエラーとなります。
(5) 統合対象RDエリア内のデータの扱い
ALTER TABLEの実行時,統合対象RDエリア内のデータは通常削除されます。また,対応する次のRDエリア内のデータも削除されます。
-
インデクス格納用RDエリア内のインデクスデータ
-
LOB列格納用RDエリア内のLOBデータ
- 参考
-
統合対象RDエリア内のデータが削除される理由を次に示します。
-
統合対象RDエリアは統合後に使用されなくなる可能性があるため
なお,統合対象RDエリア以外のRDエリア内のデータは削除されません。
-
統合時に削除対象となるデータを次の図に示します。
(a) データが削除されないケース
次に示す条件をすべて満たす場合は,統合対象RDエリア内のデータをそのまま使用できる可能性があるため,データを削除しないようにできます。
-
統合対象RDエリアの一つを統合後にも使用する
-
統合対象となるインデクス格納用RDエリア又はLOB列格納用RDエリアに対しても1の条件が満たされている
データを削除しない場合は,ALTER TABLEでWITHOUT PURGEを指定してください。なお,統合対象RDエリアの一つを統合後にも使用する指定をしていない場合にWITHOUT PURGEを指定すると,ALTER TABLEの実行時にエラーとなります。WITHOUT PURGEを指定したときの処理を次の図に示します。
- 〔説明〕
-
RD02に統合したため,RD02内のデータ(格納条件が='B'のデータ)は削除されません。RD03及びRD04内のデータ(格納条件が='C'及び'D'のデータ)が削除されます。
- 注意事項
-
WITHOUT PURGEでデータを保存した場合,統合前のデータをアンロードして統合後のRDエリアにデータロードすると,データが二重登録されてしまいます。このため,WITHOUT PURGEでデータを保存する場合は,データのアンロード及びデータロードを行わないでください。
図「WITHOUT PURGEを指定したときの処理」を例にすると,RD02内のデータ(格納条件が='B'のデータ)をアンロードして統合後のRDエリアにデータロードすると,データが二重登録されてしまいます。
(b) OTHERS指定のRDエリアに統合する場合の注意事項
次に示す条件をすべて満たす場合に統合を行うと,統合前のデータを格納するRDエリアがなくなります。
-
格納条件なし又はOTHERS指定のRDエリアを統合対象としている
-
OTHERS指定のRDエリアに統合している
統合後にデータを格納するRDエリアがなくなるケースを次の図に示します。