スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
13.6.6 例題5(FIX表に列を追加する場合:バイナリ形式でアンロードする場合)
(1) pdholdコマンドでTABLE01の格納RDエリアを閉塞します
pdhold -r RDAREA1,RDAREA2,…
|
(2) pdrorgコマンドでTABLE01のデータをアンロードします
pdrorg -k unld -W bin -t TABLE01 -g /pdrorg/unld01
|
- 〔説明〕
- -k:アンロードをするためunldを指定します。
- -W bin:アンロードデータファイルをpdloadコマンドの入力ファイル(バイナリ形式)として使用できるようにします。TABLE01中には,DAT形式ファイルに変換できない文字データ(0x00,0x0a)があるため,バイナリ形式にしてアンロードします。
- -t:アンロードする表の名称を指定します。
- -g:HiRDB/パラレルサーバで,TABLE01をサーバ間横分割している場合に指定します。-gオプションを指定すると,アンロードデータファイルが一元化されます(一つになります)。
- /pdrorg/unld01:pdrorgコマンドの制御文ファイル名を指定します。
(3) pdrelsコマンドでRDエリアの閉塞を解除します
pdrels -r RDAREA1,RDAREA2,…
|
(4) PURGE TABLEでTABLE01のデータを削除します
(5) ALTER TABLEでC4列を追加します
ALTER TABLE TABLE01 ADD C4 INTEGER WITH DEFAULT;
|
このとき,WITH DEFAULTオペランドを必ず指定してください。この場合,C4列には0が格納されます。
(6) 列構成情報ファイル(/pdload/column01)を作成します
C1,type=char(4)
C2,type=char(10)
C3,type=integer
|
TABLE01のデータ型を指定した列構成情報ファイルを作成します
(2)でバイナリ形式ファイルを作成しましたが,FIX表なので固定長データ形式ファイルとして扱います。したがって,固定長データ形式ファイルのデータロードに必要な列構成情報ファイルを作成します。これによって,入力データファイルの列構成の形式と列構成が異なるTABLE01へのデータロードができるようになります。
- ●列構成情報ファイル指定のポイント
- 列を追加した場合の列構成情報ファイル指定のポイントは,追加した列を指定しないことです。こうすることで,HiRDBは入力データ中にその列のデータがないことを検知し,追加した列に省略値又はナル値を格納します。FIX表の場合はナル値を格納できないため,ALTER TABLEで列を追加するときにWITH DEFAULTオペランドを指定して省略値を格納するようにします。
(7) pdholdコマンドでTABLE01の格納RDエリアを閉塞します
pdhold -r RDAREA1,RDAREA2,…
|
(8) TABLE01にデータロードをします
pdload -a -c /pdload/column01 TABLE01 /pdload/load01
|
- 〔説明〕
- -a:入力ファイルが固定長データ形式ファイルであることを指定します。
- -c /pdload/column01:(6)で作成した列構成情報ファイル名を指定します。
- TABLE01:データロードする表の名称を指定します。
- /pdload/load01:pdloadコマンドの制御文ファイル名を指定します。
(9) データロード対象RDエリアのバックアップを取得します
(10) pdrelsコマンドでRDエリアの閉塞を解除します
pdrels -r RDAREA1,RDAREA2,…
|
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.