スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

13.6.5 例題4(FIX表に列を追加する場合:DAT形式でアンロードする場合)

FIX表(TABLE01)に列(C4)を追加します。

[図データ]

<この項の構成>
(1) pdholdコマンドでTABLE01の格納RDエリアを閉塞します
(2) pdrorgコマンドでTABLE01のデータをアンロードします
(3) pdrelsコマンドでRDエリアの閉塞を解除します
(4) PURGE TABLEでTABLE01のデータを削除します
(5) ALTER TABLEでC4列を追加します
(6) 列構成情報ファイル(/pdload/column01)を作成します
(7) pdholdコマンドでTABLE01の格納RDエリアを閉塞します
(8) TABLE01にデータロードをします
(9) データロード対象RDエリアのバックアップを取得します
(10) pdrelsコマンドでRDエリアの閉塞を解除します

(1) pdholdコマンドでTABLE01の格納RDエリアを閉塞します

 
pdhold -r RDAREA1,RDAREA2,…
 

(2) pdrorgコマンドでTABLE01のデータをアンロードします

 
pdrorg -k unld -W dat -t TABLE01 -g /pdrorg/unld01
 

〔説明〕
-k:アンロードをするためunldを指定します。
-W dat:アンロードデータファイルをpdloadコマンドの入力ファイル(DAT形式)として使用できるようにします。
-t:アンロードする表の名称を指定します。
-g:HiRDB/パラレルサーバで,TABLE01をサーバ間横分割している場合に指定します。-gオプションを指定すると,アンロードデータファイルが一元化されます(一つになります)。
/pdrorg/unld01:pdrorgコマンドの制御文ファイル名を指定します。

(3) pdrelsコマンドでRDエリアの閉塞を解除します

 
pdrels -r RDAREA1,RDAREA2,…
 

(4) PURGE TABLEでTABLE01のデータを削除します

 
PURGE TABLE TABLE01;
 

(5) ALTER TABLEでC4列を追加します

 
ALTER TABLE TABLE01 ADD C4 INTEGER WITH DEFAULT;
 

このとき,WITH DEFAULTオペランドを必ず指定してください。この場合,C4列には0が格納されます。

(6) 列構成情報ファイル(/pdload/column01)を作成します

 
C1
C2
C3
 

(2)で作成した入力データファイルの列構成の形式とTABLE01の列構成が異なるため,データロードするときに列構成情報ファイルが必要になります。

●列構成情報ファイル指定のポイント
列を追加した場合の列構成情報ファイル指定のポイントは,追加した列を指定しないことです。こうすることで,HiRDBは入力データ中にその列のデータがないことを検知し,追加した列に省略値又はナル値を格納します。FIX表の場合はナル値を格納できないため,ALTER TABLEで列を追加するときにWITH DEFAULTオペランドを指定して省略値を格納するようにします。

(7) pdholdコマンドでTABLE01の格納RDエリアを閉塞します

 
pdhold -r RDAREA1,RDAREA2,…
 

(8) TABLE01にデータロードをします

 
pdload -c /pdload/column01 TABLE01 /pdload/load01
 

〔説明〕
-c /pdload/column01:(6)で作成した列構成情報ファイル名を指定します。
TABLE01:データロードする表の名称を指定します。
/pdload/load01:pdloadコマンドの制御文ファイル名を指定します。

(9) データロード対象RDエリアのバックアップを取得します

更新前ログ取得モード(省略値)でデータロードを実行したため,データロード対象RDエリアのバックアップを取得してください。バックアップの取得方法については,「6.4.8 例題8(RDエリア単位にバックアップを取得する場合)」を参照してください。

(10) pdrelsコマンドでRDエリアの閉塞を解除します

 
pdrels -r RDAREA1,RDAREA2,…
 

 

コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。