Hitachi

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


8.13.1 規則

〈この項の構成〉

(1) ユティリティの実行について

(2) ユティリティの実行可否について

再編成する表,インデクス,及びLOB列が格納されているRDエリアのオープン属性,RDエリアの状態によって,pdrorgの実行可否が変わります。pdrorgの実行可否については,「コマンド実行時のRDエリアの状態」を参照してください。

また,ディクショナリ表を再編成する場合は,ディクショナリ表が格納されているRDエリアを,pdholdコマンドで閉塞状態にしてください。

(3) ユティリティの最大同時実行数

pdrorgの最大同時実行数は,システム共通定義のpd_utl_exec_modeオペランドの指定値によって異なります。

pd_utl_exec_mode=0の場合:

最大同時実行数は32です。

pd_utl_exec_mode=1の場合:

最大同時実行数はpd_max_usersオペランドの指定値です。

なお,pdreclaim及びpdpgbfonは内部でpdrorgを呼び出しているため,pdreclaim及びpdpgbfon実行中はpdrorgの最大同時実行数は少なくなります。例えば,pd_utl_exec_mode=0の場合,pdrorgの最大同時実行数は32ですが,pdreclaimが10個起動中のときは,pdrorgの最大同時実行数は22となります。

(4) ユティリティで処理中の表,インデクスについて

(5) 分割キーのレンジ変更について

リロード処理の前に分割キーのレンジを変更したとき,再定義したレンジの範囲にアンロードしたデータが納まらない場合,リロード中にそのデータを見付けた時点でエラーとなり,処理を終了します。この場合,アンロードしたデータがすべて納まるように,分割キーのレンジを定義し直し,再度リロード処理をしてください。

(6) データ連動の対象となる抽出側データべースに対するユティリティを実行時のログ取得モードについて

データ連動の対象となる抽出側データべースに対してpdrorgを実行する場合,-lオプションにはn又はpを指定してください(ログレスモード又は更新前ログ取得モードで実行してください)。ログ取得モードで実行した場合,抽出側データべースに対して実行された一部の更新情報だけが反映側データべースに転送されるため,抽出側と反映側のデータべースの内容が不整合になります。

(7) DECIMAL型の符号正規化機能について

pdrorgでは,DECIMAL型の符号正規化機能の使用有無に関係なく,DECIMAL型の符号部の正規化はしません。したがって,DECIMAL型の符号正規化機能を使用しないHiRDBシステムで作成したアンロードデータファイルを使用して,DECIMAL型の符号正規化機能を使用するHiRDBシステムへのリロードはできません。

データベース中の正規化されていないDECIMAL型の符号部を正規化する場合は,-Wオプション指定のアンロードデータファイルを作成し,データベース作成ユティリティでデータを格納し直してください。DECIMAL型の符号正規化機能については,マニュアル「HiRDB Version 9 システム運用ガイド」を参照してください。

(8) インデクス作成時のファイルの出力先について

インデクス作成時,制御情報ファイルでファイルの出力先を指定しない場合,次の表に示すディレクトリにファイルを出力します。

表8‒42 pdrorgがファイルを出力するディレクトリ

制御文※1の指定

システム定義のpd_tmp_directoryオペランドの指定

あり

なし

環境変数TMP※2の指定

あり

なし

あり

制御文に指定したディレクトリ又はファイル

なし

pd_tmp_directoryに指定したディレクトリ

TMPに指定したディレクトリ

%PDDIR%\tmpディレクトリ

注※1 

idxwork文,sort文

注※2 

システム環境変数の指定

(9) インデクス情報ファイルの出力先について

pdrorgの処理内容と制御文の指定によって,インデクス情報ファイルの出力先が変わります。インデクス情報ファイルの出力先を次の表に示します。

表8‒43 インデクス情報ファイルの出力先

pdrorgの処理内容

制御文

インデクス情報ファイルの出力先

index文

idxname文

idxwork文

-k rorg,

-k reld,

-k ixmk

あり

×

index文で指定したインデクス情報ファイル

なし

×

あり

idxwork文で指定したディレクトリ

なし

×

なし

表「pdrorgがファイルを出力するディレクトリ」参照

-k ixrc,

-k ixor

×

あり

あり

idxwork文で指定したディレクトリ

×

あり

なし

表「pdrorgがファイルを出力するディレクトリ」参照

あり

×

index文で指定したインデクス情報ファイル

(凡例)

×:指定できません。

−:指定の有無は,インデクス情報ファイルの出力先に関係しません。

注※

横分割表の場合は,指定したRDエリアだけが対象であるため,指定していないRDエリアについてはindex文なしの項目が該当します。

(10) リバランス表の再編成

リバランス表にRDエリアを追加した場合,そのリバランス表に対してpdrbalを実行(リターンコード=0)していないと,追加したRDエリアの再編成(RDエリア単位の再編成)はできません。

リバランス表にRDエリアを追加した場合,追加したRDエリアに対するpdrorgの実行可否を次の表に示します。

表8‒44 リバランス表に追加したRDエリアに対するpdrorgの実行可否

-kオプション

表の状態

RDエリアの追加〜pdrbal実行前

pdrbal途中

(リターンコード4)

pdrbal完了後

(リターンコード0)

既存

追加

既存

追加

unld

×

rorg,reld

表単位

×

RDエリア単位

×

×

×

ixmk

ixrc

ixor

(凡例)

既存:表定義(CREATE TABLE)で指定している既存のRDエリア

追加:ALTER TABLE ADD RDAREAで追加したRDエリア

○:pdrorgを実行できます。

×:pdrorgは実行できません。

注※

リバランス途中にリロードする場合は,-gオプションを指定してください。また,LOB列,及びLOB属性の抽象データ型列がある場合は,同時に-jオプションも指定してください。-gオプションを指定して再編成をすると,データの再配置はされますが,そのリバランス表はまだリバランス完了となっていないため,リロード後に必ずpdrbalを実行してリターンコード=0になることを確認してください。

表をアンロードした後に,その表にRDエリアを追加し,リロードする場合の手順を次に示します。

  1. pdrorgを実行(-k unld)

  2. ALTER TABLE ADD RDAREAでRDエリアを追加

  3. PURGE TABLEで全行削除

  4. pdrbalを実行

  5. pdrorgを実行(-k reld)

上記の手順を実行する場合,pdrorgには必ず-gオプションを指定してください。-gオプションを指定しないとエラーとなります。また,LOB列又はLOB属性の抽象データ型列があるリバランス表の場合は,同時に-jオプションも指定してください。

(11) 更新凍結状態のRDエリアに対する処理

更新凍結状態のRDエリアにある表に対して,-k rorg(再編成)又はreld(リロード)を実行する場合,ユーザLOB用RDエリアの管理領域を更新できないため,エラーとなります。また,LOB列構成基表だけを再編成又はリロードする場合も,同様にエラーとなります。

(12) SEGMENT REUSE指定の表に対するリロード

SEGMENT REUSE指定の表にリロードする場合,SEGMENT REUSEの指定は無効となります。

(13) リバランス機能を持つハッシュ関数で横分割された表について

リバランス機能を持つハッシュ関数でFIXハッシュ分割した表を再編成する場合に,アンロードとリロードの間に分割条件を変更すると,表格納RDエリアに空きページがあっても,空きセグメントがないためにRDエリアの容量が不足することがあります。これは,格納条件の変更によって,アンロードした時に格納されていたセグメントとは別のセグメントにリロードする必要が生じたけれど,新たなセグメントを確保できないためです。この場合,リロードの再実行前にRDエリアの拡張をしてください。

(14) 32bit版と64bit版のHiRDBのアンロードデータファイルの互換性について

32bit版,又は64bit版のHiRDBでアンロードしたアンロードデータファイルは,お互いのbitモードのHiRDBでリロードし,データを移行できます。移行できる条件は,同一のbitモードのHiRDB間で移行できる条件と同じです。

(15) 一時表に対するpdrorgの実行

一時表に対して,pdrorgは実行できません。-tオプションに一時表を指定して実行すると,pdrorgはKFPL15231-Eメッセージを出力して,エラー終了します。スキーマ単位の再編成(-tオプションにallを指定)の場合,pdrorgはスキーマに定義された一時表の処理をスキップします。