8.11.1 抽象データ型がある表

<この項の構成>
(1) 表のアンロード
(2) 表へのリロード
(3) pdrorgの機能と制御情報ファイルとの関係
(4) アンロード元の表とリロード先の表で抽象データ型定義が異なる場合のリロード
(5) 表の分割条件を変更した場合のリロード
(6) コンストラクタパラメタ逆生成関数を使用しないでアンロードした場合

(1) 表のアンロード

抽象データ型がある表をアンロードする場合の注意事項を次に示します。

(a) LOB属性の抽象データ型が定義されている表のアンロードだけをする場合
(b) 別表,又は別システムへ表を移行するためのアンロードの場合
(c) 抽象データ型がある表の分割条件変更をする場合

(2) 表へのリロード

抽象データ型がある表をリロードする場合の注意事項を次に示します。

(a) LOB属性の抽象データ型が定義されている表の場合

アンロード時に-jオプションを指定している場合,リロード時も必ず-jオプションを指定してください。

(b) 別表,又は別システムの表の場合
(c) 抽象データ型がある表の分割条件変更をする場合

アンロード時にコンストラクタパラメタ逆生成関数を指定してアンロードした場合,表の分割条件の変更後に,reld_func文にコンストラクタ関数を指定してリロードします。コンストラクタ関数を指定してリロードする場合,コンストラクタパラメタ逆生成関数を指定してアンロードしたアンロードデータファイルだけ使用できます。

なお,指定するコンストラクタ関数は,アンロード時に指定したコンストラクタパラメタ逆生成関数に対応していなければなりません。コンストラクタ関数とコンストラクタパラメタ逆生成関数の対応については,各プラグインのマニュアルを参照してください。

(3) pdrorgの機能と制御情報ファイルとの関係

pdrorgの機能と制御情報ファイルとの関係を次の表に示します。

表8-39 pdrorgの機能と制御情報ファイルとの関係

pdrorgの機能-kオプション-jオプション制御情報ファイル
unload文lobunld文tblname文unld_func文reld_func文
LOB列構成基表だけの再編成(1)rorg××××
unld
reld
LOB列だけの再編成(3)rorg××××
reld
LOB列構成基表,LOB列格納用RDエリア,及びLOB属性格納用RDエリアの再編成(1,2,及び3)rorg××※2※2
unld※3×
reld×※3
表の分割条件変更※1(1,2,及び3)unld×××
reld×
別表,又は別システムへの移行※1(1,2,及び3)unld×××
reld×
(凡例)
◎:必ず指定します。
○:任意に指定できます。
×:指定できません。
-:該当しません。
pdrorgの機能の括弧内の数字は,対象となるRDエリアを示しています。次の表定義の番号と対応しています。

CREATE TABLE …
   C1 INT,
   C2 SGMLTEXT ALLOCATE(sgmltext IN lob01)     2
   C3 BLOB(10K) IN LOB02                       3
   IN USER01                                   1

注※1
HiRDB/パラレルサーバの場合で,表を複数のバックエンドサーバに分割しているときは,-gオプションを指定する必要があります。
注※2
unld_func文,及びreld_func文を同時に指定する必要があります。
注※3
アンロード時に指定した場合は,リロード時にも必ず指定してください。

(4) アンロード元の表とリロード先の表で抽象データ型定義が異なる場合のリロード

別表への移行,又はプラグインのバージョンアップによる抽象データ型変更などで,アンロード元の表とリロード先の表とで抽象データ型定義が異なる場合があります。このような場合にリロードするときの注意事項を次に示します。

  1. 次の条件をすべて満たす場合はリロードできます。
    • アンロード時にunld_func文でコンストラクタパラメタ逆生成関数を指定してアンロードしたアンロードデータファイルを使用する場合
    • アンロード時に指定したコンストラクタパラメタ逆生成関数で逆生成されるパラメタ数とパラメタ属性がすべて一致したコンストラクタ関数を,reld_func文に指定する場合
  2. コンストラクタ関数を指定していない場合,アンロード表とリロード表とで次の項目が一致しているときはリロードできます。
    • 抽象データ型の名称
    • プラグインID
    • 属性の数
    • 属性のデータ型,及び定義長
    • LOB属性格納用RDエリア

(5) 表の分割条件を変更した場合のリロード

表の分割条件を変更してリロードする場合,プラグインによってはアンロード時にコンストラクタパラメタ逆生成関数を指定しなければならないものもあります。この場合,unld_func文にコンストラクタパラメタ逆生成関数を指定してアンロードし,表の分割条件を変更した後,reld_func文にコンストラクタ関数を指定してリロードする必要があります。

注意事項を次に示します。

(6) コンストラクタパラメタ逆生成関数を使用しないでアンロードした場合

コンストラクタパラメタ逆生成関数を使用しないでアンロードした場合,リロードが完了するまでプラグインの登録,及び削除はしないでください。