Hitachi

ノンストップデータベース HiRDB Version 9 コマンドリファレンス(Windows(R)用)


8.4.3 アンロード元の表とリロード先の表の表定義が異なる場合のリロード実行可否

pdrorgでは,アンロードした表の表定義情報をアンロードデータファイルに出力しています。リロード時は,アンロードデータファイル内の表定義情報とリロードする表の表定義情報を比較し,リロードできるかどうかを判定しています。

アンロードした表に対するリロードは,表定義が同じ場合はリロードができます。しかし,別表,若しくは別システムへの表データの移行,又は表定義が異なる表へのリロードは,条件によってリロードができない場合があります。

〈この項の構成〉

(1) リロード時に指定するオプション

別表,若しくは別システムへ表データを移行する場合,又はアンロードした表とリロードする表の格納条件が異なる表へのリロードをする場合,次のようにオプションを指定してください。

(2) アンロードした表とリロードする表の格納条件の比較

アンロードした表とリロードする表の分割方法が同じ場合は,次の表の項目をチェックし,格納条件が異なるかどうかを判定します。格納条件が異なる場合,表「格納条件が異なる場合のリロード可否」に従って,リロード可否が決まります(表単位又はスキーマ単位にリロードする場合の実行可否です。RDエリア単位にリロードする場合はすべての条件で実行できません)。

表8‒5 アンロードした表とリロードする表の分割方法が同じ場合の格納条件チェック項目

分割方法

チェック項目

非分割

なし

ハッシュ分割

ハッシュ関数

関数名

ハッシュ種別

FIX又はフレキシブル

分割キーの列構成

定義順

格納RDエリア

格納RDエリア数,RDエリアID,RDエリア名,及びサーバ名

キーレンジ

分割キーの列構成

定義順,及び列ID

分割キーの先頭列

列ID,データ型,及び定義長

分割条件数

分割条件

格納RDエリアID,及び条件値

マトリクス分割

分割キーの列構成

定義順

分割条件数

分割条件値数

分割キーの条件

キー内分割数,次元番号,分割列ID,データ型,定義長,条件値長,及び条件値

ハッシュ関数

関数名

ハッシュ種別

FIX又はフレキシブル

格納RDエリア

格納RDエリア数,RDエリアID,RDエリア名,及びサーバ名

表8‒6 格納条件が異なる場合のリロード可否

-g指定※1

HiRDBの構成

アンロードした表の分割条件

リロードする表の分割条件

キーレンジ分割

ハッシュ分割

マトリクス分割

非分割

FIX

フレキシブル

キーレンジとキーレンジ

キーレンジとハッシュ

あり

HiRDB/シングルサーバ

キーレンジ分割

ハッシュ分割

FIX

フレキシブル

マトリクス分割

キーレンジとキーレンジ

キーレンジとハッシュ

非分割

HiRDB/パラレルサーバ

キーレンジ分割

ハッシュ分割

FIX

フレキシブル

マトリクス分割

キーレンジとキーレンジ

キーレンジとハッシュ

非分割

なし

HiRDB/シングルサーバ

キーレンジ分割

ハッシュ分割

FIX

×

フレキシブル

×

マトリクス分割

キーレンジとキーレンジ

キーレンジとハッシュ

非分割

HiRDB/パラレルサーバ

キーレンジ分割

※6

×

※2※3

×

×

※5

ハッシュ分割

FIX

×

×

※2※4

×

×

※5

フレキシブル

×

×

※7

×

×

※5

マトリクス分割

キーレンジとキーレンジ

×

×

※2※3

※6

×

※5

キーレンジとハッシュ

×

×

※2※3

×

×

※5

非分割

×

×

※2※3

×

×

※2

(凡例)

○:リロードする表の格納条件に従って格納できます。

×:リロードできません。

注※1

アンロード時,及びリロード時の-gオプションの指定有無を示しています。なお,-gオプションを指定しない場合の分割表から非分割表へのリロードの意味は,サーバ間分割していない分割表から非分割表へのリロードを指します。サーバ間分割している場合は-gオプションを指定してください。

注※2

BLOB列,又はBLOB属性の抽象データ型列がある表の場合,アンロード時,及びリロード時に-jオプションを指定しているときだけリロードできます。

注※3

ハッシュ関数を使用しないで,pdrorgがラップアラウンドで格納します。

注※4

アンロード時に格納されていたRDエリアと同じRDエリアに格納します。アンロード時のRDエリアがリロード時にない場合は,リロードできません。

注※5

BLOB列,又はBLOB属性の抽象データ型列がある表の場合はリロードできません。

注※6

表格納条件の変更の内容によって,リロード可否が決まります。リロード可否を次に示します。

表格納条件の変更の内容

リロード可否

備考

分割条件変更あり

分割条件追加

×

エラー終了します。

分割条件削除

分割キー値の変更

分割条件変更なし

格納RDエリア変更あり

RDエリア名変更

注※2,及び注※5の条件を満たす場合,アンロード時の格納RDエリアに対応するRDエリアに格納します。

RDエリアがあるサーバの変更

×

エラー終了します。

格納RDエリア変更なし

分割キーの構成列変更(列名,指定順序など)

×

エラー終了します。

(凡例)

 ○:リロードできます。

 ×:リロードできません。

注※7

表格納条件の変更の内容によって,リロード可否が決まります。リロード可否を次に示します。

表格納条件の変更の内容

リロード可否

備考

格納RDエリア変更あり

RDエリアの追加

注※4,及び注※5の条件を満たす場合,アンロード時の格納RDエリアに格納します。追加したRDエリアには格納されません。

RDエリアの削除

×

エラー終了します。

RDエリアの名称変更

RDエリアがあるサーバの変更

格納RDエリア変更なし

ハッシュ関数変更

注※4,及び注※5の条件を満たす場合,アンロード時の格納RDエリアに格納します。

分割キーの構成列変更(列名,指定順序など)

(凡例)

 ○:リロードできます。

 ×:リロードできません。

(3) リロードできないときの条件

次のような場合にはリロードできません。

  1. LOB列がある表で-jオプションを指定していない場合

  2. FIX表から非FIX表,又は非FIX表からFIX表へのリロード

  3. アンロードした表とリロードする表の列数,列定義順序,各列のデータ型,列名,及び列属性(非ナル値制約など)が異なる場合

  4. 非ナル値制約の列がある表をアンロードし,リロード先では分割キー構成列とした場合(非ナル値制約でない列を分割キー構成列に変更した場合は,-Wオプションを指定してアンロードし,データベース作成ユティリティでデータロードしてください)

  5. 値が重複するデータの列に,新たにユニークキーインデクス又は主キーインデクスを定義した場合

  6. リロードする表の繰返し列ごとの要素数が,アンロードした表よりも小さい場合

  7. 抽象データ型が定義されている列のデータ型を変更した場合