Hitachi

ノンストップデータベース HiRDB Version 10 システム運用ガイド(UNIX(R)用)


13.12.8 RDエリアの分割(格納条件指定の場合)

〈この項の構成〉

(1) 格納条件の変更規則

格納条件の変更規則について説明します。

(a) 上限値

格納条件を変更するときは,次の表に示す上限値の規則を守ってください。

表13‒18 分割機能での上限値(格納条件指定の場合)

項目

上限値

上限値を超えた場合の動作

分割の対象にできるRDエリア数

1

ALTER TABLEをエラーとします。

1回の操作で分割できる数

16

分割した結果の総分割RDエリア数(重複を含む)

4,096

分割後の総格納条件数(格納条件を指定していないRDエリアも含む)

15,000

(b) 分割時の規則

分割対象となるRDエリアは一定の条件を満たしている必要があります。RDエリアの分割可否を次の表に示します。

表13‒19 RDエリアの分割可否

分割対象RDエリア※1

表に定義した格納条件

分割

可否

説明

格納条件を指定したRDエリアの場合

分割対象RDエリアに格納条件を一つだけ指定している

×

ALTER TABLEがエラーになります。

分割対象RDエリアに格納条件を二つ以上指定している

格納条件を指定したRDエリアを分割する例を図「格納条件を指定したRDエリアを分割する例」に示します。

格納条件を指定していないRDエリアの場合

格納条件を指定していないRDエリアを分割する例を図「格納条件を指定していないRDエリアを分割する例」に示します。

OTHERS指定※2のRDエリアの場合

格納条件が全RDエリアに指定されている

OTHERS指定のRDエリアを分割する例を図「OTHERS指定のRDエリアを分割する例」に示します。

格納条件なしのRDエリアがある

×

ALTER TABLEがエラーになります。

OTHERS指定のRDエリアを分割できない例を図「OTHERS指定のRDエリアを分割できない例」に示します。

(凡例)

○:分割できます。

×:分割できません。

−:該当しません。

注※1

ALTER TABLEのCHANGE RDAREAの変更前RDエリア情報リストに指定されたRDエリアが分割対象RDエリアになります。

注※2

OTHERS指定のRDエリアについては,「OTHERS指定のRDエリア」を参照してください。

図13‒35 格納条件を指定したRDエリアを分割する例

[図データ]

図13‒36 格納条件を指定していないRDエリアを分割する例

[図データ]

図13‒37 OTHERS指定のRDエリアを分割する例

[図データ]

図13‒38 OTHERS指定のRDエリアを分割できない例

[図データ]

(2) OTHERS指定のRDエリア

格納条件指定の分割時,実体のないダミーのRDエリアを分割できます。また,分割後に実体のあるRDエリアとダミーのRDエリアに分割することもできます。この実体のないダミーのRDエリアをOTHERS指定のRDエリアといいます。OTHERS指定のRDエリアは,格納条件なしのRDエリアと仮定されて分割又は統合処理が行われます。OTHERS指定のRDエリアの利用方法を次に示します。

(3) 分割後のRDエリアの決定方法

ALTER TABLEのCHANGE RDAREAに指定した分割後の格納条件とRDエリアに従ってデータを格納するRDエリアが決まります。分割後のRDエリアは,分割対象RDエリアでもよいし,新たに用意したRDエリアでもかまいません。ただし,分割後のRDエリア名に重複した名称を指定できません。

分割対象RDエリアと分割後RDエリアの組み合わせ可否について以下に説明します。

(a) 複数の格納条件を指定したRDエリアを分割対象とする場合

分割対象RDエリア(複数の格納条件を指定したRDエリア)と分割後RDエリアの組み合わせ可否を次の表に示します。

表13‒20 分割対象RDエリア(複数の格納条件を指定したRDエリア)と分割後RDエリアとの組み合わせ可否

ALTER TABLEのCHANGE RDAREAに

指定する分割後RDエリアの条件

分割後RDエリアとしての指定可否

格納条件なしのRDエリアがある場合

全RDエリアに格納条件が指定されている場合

分割対象RDエリアを指定しない場合

新規のRDエリアだけを指定している

○(図「分割できるケース(その1)」を参照)

格納条件指定ありのRDエリアを含んでいる

×(図「分割できないケース(その1)」を参照)

格納条件指定なしのRDエリアを含んでいる

×(図「分割できないケース(その1)」を参照)

OTHERS指定のRDエリアを指定

×(図「分割できないケース(その2)」を参照)

分割対象RDエリアを指定する場合

分割対象RDエリア以外は新規のRDエリアである

○(図「分割できるケース(その2)」を参照)

格納条件指定ありのRDエリアを含んでいる

×(図「分割できないケース(その1)」を参照)

格納条件指定なしのRDエリアを含んでいる

×(図「分割できないケース(その1)」を参照)

OTHERS指定のRDエリアを指定

×(図「分割できないケース(その2)」を参照)

(凡例)

○:分割できます。

×:分割できません。

−:該当しません。

図13‒39 分割できるケース(その1)

[図データ]

図13‒40 分割できるケース(その2)

[図データ]

図13‒41 分割できないケース(その1)

[図データ]

図13‒42 分割できないケース(その2)

[図データ]

(b) 格納条件なしのRDエリアを分割対象とする場合

分割対象RDエリア(格納条件なしのRDエリア)と分割後RDエリアの組み合わせ可否を次の表に示します。

表13‒21 分割対象RDエリア(格納条件なしのRDエリア)と分割後RDエリアの組み合わせ可否

ALTER TABLEのCHANGE RDAREAに

指定する分割後RDエリアの条件

分割後RDエリアとしての指定可否

格納条件なしのRDエリアがある場合

全RDエリアに格納条件が指定されている場合

分割対象RDエリアを指定しない場合

新規のRDエリアだけを指定している

OTHERS指定のRDエリアを含まない

○(図「分割できるケース(その3)」を参照)

OTHERS指定のRDエリアを含む

○(図「分割できるケース(その4)」を参照)

格納条件指定ありのRDエリアを含んでいる

×(図「分割できないケース(その3)」を参照)

分割対象RDエリアを指定する場合

分割対象RDエリア以外は新規のRDエリアである

OTHERS指定のRDエリアを含まない

○(図「分割できるケース(その5)」を参照)

OTHERS指定のRDエリアを含む

○(図「分割できるケース(その6)」を参照)

格納条件指定ありのRDエリアを含んでいる

×(図「分割できないケース(その3)」を参照)

(凡例)

○:分割できます。

×:分割できません。

−:該当しません。

図13‒43 分割できるケース(その3)

[図データ]

図13‒44 分割できるケース(その4)

[図データ]

注意事項

この例の場合,分割後に'A','B','C','D','E'以外のデータが参照できなくなります。また,分割後に'A','B','C','D','E'以外のデータを挿入できなくなります。よって,分割後のRDエリアにOTHERSを指定する場合は注意が必要です。

図13‒45 分割できるケース(その5)

[図データ]

図13‒46 分割できるケース(その6)

[図データ]

注意事項

この例の場合,分割後に'A','B','C','D','E'以外のデータが参照できなくなります。また,分割後に'A','B','C','D','E'以外のデータを挿入できなくなります。よって,分割後のRDエリアにOTHERSを指定する場合は注意が必要です。

図13‒47 分割できないケース(その3)

[図データ]

(c) OTHERS指定のRDエリアを分割対象とする場合

分割対象RDエリア(OTHERS指定のRDエリアを分割対象とする場合)と分割後RDエリアの組み合わせ可否を次の表に示します。

表13‒22 分割対象RDエリア(OTHERS指定のRDエリアを分割対象とする場合)と分割後RDエリアの組み合わせ可否

ALTER TABLEのCHANGE RDAREAに

指定する分割後RDエリアの条件

分割後RDエリアとしての指定可否

格納条件なしのRDエリアがある場合

全RDエリアに格納条件が指定されている場合

分割後のRDエリアにOTHERS指定のRDエリアがある場合

新規のRDエリアだけを指定している

×

○(図「分割できるケース(その7)」を参照)

格納条件指定ありのRDエリアを含んでいる

×

×(図「分割できないケース(その4)」を参照)

分割後のRDエリアにOTHERS指定のRDエリアがない場合

新規のRDエリアだけを指定している

×

○(図「分割できるケース(その8)」を参照)

格納条件指定ありのRDエリアを含んでいる

×

×(図「分割できないケース(その4)」を参照)

(凡例)

○:分割できます。

×:分割できません。

図13‒48 分割できるケース(その7)

[図データ]

図13‒49 分割できるケース(その8)

[図データ]

図13‒50 分割できないケース(その4)

[図データ]

(4) 分割後の格納条件の指定方法

分割対象RDエリアに対して分割後の格納条件を指定します。このときの格納条件は次に示す条件をすべて満たす必要があります。

分割後の格納条件の指定可否を次の表に示します。

表13‒23 分割後の格納条件の指定可否

分割対象RDエリア

分割後の格納条件の指定内容

指定可否

格納条件を指定したRDエリアの場合

分割対象RDエリアに含まれている格納条件を指定する

すべての格納条件を指定する

一部の格納条件を指定しない

×

分割対象RDエリアに含まれない格納条件を指定する

×

格納条件を指定しない

×

格納条件を指定していないRDエリアの場合

表定義で指定済みの格納条件を含んでいる

×

表定義で指定済みの格納条件を含んでいない

格納条件を指定していないRDエリアがある

格納条件を指定していないRDエリアがない

×

OTHERS指定のRDエリアの場合

表定義で指定済みの格納条件を含んでいる

×

表定義で指定済みの格納条件を含んでいない

(凡例)

○:指定できます。

×:指定できません。

なお,分割後の格納条件には,分割後の1RDエリアに対して,一つ以上の格納条件を指定できます。

(5) 表に分割キーインデクスなどが定義されている場合

格納条件を変更する表に分割キーインデクスなどが定義されている場合,表格納用RDエリアを分割したときに,インデクス格納用RDエリアも同様に分割する必要があります。格納条件を変更するときに分割対象となるリソースを次の表に示します。

表に分割キーインデクスなどが定義されている場合の分割例を次の図に示します。

表13‒24 格納条件を変更するときに分割対象となるリソース

表に定義されているリソース

分割方法

インデクス

表格納用RDエリアと1対1になるように分割してください。

クラスタキー

プライマリキー

LOB列

図13‒51 表に分割キーインデクスなどが定義されている場合の分割例

[図データ]

また,分割時には次に示す規則があります。

(6) 分割対象RDエリア内のデータの扱い

ALTER TABLEの実行時,分割対象RDエリア内のデータは通常削除されます。また,対応する次のRDエリア内のデータも削除されます。

参考

分割対象RDエリア内のデータが削除される理由を次に示します。

  • 分割対象RDエリア内のデータの一部が,分割後はそのRDエリアに格納される格納条件対象外のデータとなる可能性があるため

なお,分割対象RDエリア以外のRDエリア内のデータは削除されません。

分割時に削除対象となるデータを次の図に示します。

図13‒52 分割時に削除対象となるデータ

[図データ]

(a) データが削除されないケース

次に示す条件をすべて満たす場合は,分割対象RDエリア内のデータをそのまま使用できる可能性があるため,データを削除しないようにできます。

  1. 分割対象RDエリアを分割後にも使用する

  2. 分割対象RDエリア内には,分割後の格納条件を満たすデータだけが存在する

  3. 分割対象となるインデクス格納用RDエリア又はLOB列格納用RDエリアに対しても1及び2の条件が満たされている

データを削除しない場合は,ALTER TABLEでWITHOUT PURGEを指定してください。なお,分割対象RDエリアを分割後にも使用する指定をしていない場合にWITHOUT PURGEを指定すると,ALTER TABLEの実行時にエラーとなります。

WITHOUT PURGEが有効なケースとWITHOUT PURGEがエラーとなるケースを次の図に示します。

図13‒53 WITHOUT PURGEが有効なケース

[図データ]

注※

分割前のRD01内に='B'のデータがある場合,分割後のRD01内に格納条件対象外のデータが格納されてしまいます。このため,分割前のRD01内に='A'以外のデータがないことを確認する必要があります。

図13‒54 WITHOUT PURGEがエラーとなるケース

[図データ]

(b) WITHOUT PURGEを指定する場合の注意事項

WITHOUT PURGEを指定して分割した場合,HiRDBはRDエリア内の全データが分割後の格納条件と一致しているかどうかのチェックを行いません。格納条件対象外のデータがRDエリア中にあると,SQLを実行するときにHiRDBが正しく動作しません。このため,WITHOUT PURGE指定をして格納条件を変更する場合は,分割対象RDエリア内のデータを確認するようにしてください。

ポイント

通常はWITHOUT PURGEを指定しないで格納条件を変更してください。格納条件の変更手順については,「表の分割格納条件を変更するときの運用」を参照してください。

(c) 分割後のRDエリアにOTHERS指定をする場合の注意事項

次に示す条件をすべて満たす場合,分割後のRDエリアはすべて格納条件を指定したRDエリアになります(分割後,格納条件なしのRDエリアがなくなります)。

  • 格納条件なしのRDエリアを分割対象としている

  • 分割後にOTHERS指定のRDエリアを指定している

このため,分割後の格納条件に合わないデータがあると,そのデータは格納先RDエリアがなくなります。分割後に格納先RDエリアがなくなる例を次の図に示します。

図13‒55 分割後に格納先RDエリアがなくなる例

[図データ]

注※

格納条件が='C'以外のデータは,分割後に格納先RDエリアがなくなります。