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

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

13.16.2 例題2(表定義が異なる表へデータを移行する場合)

TABLE01のデータをTABLE02に移行(コピー)します。TABLE01とTABLE02の表定義は次のように異なっているとします。

[図データ]

<この項の構成>
(1) pdholdコマンドでアンロード及びリロード対象RDエリアを閉塞します
(2) pdrorgコマンドの制御文ファイルを作成します
(3) pdrorgコマンドでTABLE01のデータをアンロードします
(4) 列構成情報ファイル(/pdload/column01)を作成します
(5) pdloadコマンドの制御文ファイルを作成します
(6) pdloadコマンドでTABLE02にデータをロードします
(7) データロード対象RDエリアのバックアップを取得します
(8) pdrelsコマンドでRDエリアの閉塞を解除します

(1) pdholdコマンドでアンロード及びリロード対象RDエリアを閉塞します

 
pdhold -r RDAREA01,RDAREA02,…
 

(2) pdrorgコマンドの制御文ファイルを作成します

制御文ファイル(/pdrorg/rorg01)の内容を次に示します。

(a) HiRDB/シングルサーバの場合
 
unload /pdrorg/unfile1                                1
unld_func type=sgmltext,func=unsgmltext(sgmltext)     2
 

〔説明〕
  1. アンロードデータファイルの名称を指定します。
  2. 表にSGMLTEXT型が定義されているため,コンストラクタパラメタ逆生成関数の情報を指定します。
(b) HiRDB/パラレルサーバの場合
 
unload bes1:/pdrorg/unfile1                          1
unld_func type=sgmltext,func=unsgmltext(sgmltext)    2
 

〔説明〕
  1. アンロードデータファイルの名称を指定します。
  2. 表にSGMLTEXT型が定義されているため,コンストラクタパラメタ逆生成関数の情報を指定します。

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

 
pdrorg -k unld -W bin -j -t TABLE01 -g /pdrorg/rorg01
 

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

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

 
*skipdata*,type=integer
C5
C6,func=(sgmltext,param=blob)
C7
 

(3)で作成した入力データファイルの列構成の形式とTABLE02の列構成が異なるため,データロードするときに列構成情報ファイルが必要になります。列構成情報ファイルの指定例については,「13.16.4 列構成情報ファイルの指定例」を参照してください。

(5) pdloadコマンドの制御文ファイルを作成します

制御文ファイル(/pdload/load01)の内容を次に示します。

(a) HiRDB/シングルサーバの場合
 
source /pdrorg/unfile1
 

〔説明〕
(3)で作成したアンロードデータファイルの名称を指定します。
(b) HiRDB/パラレルサーバの場合
 
source bes1:/pdrorg/unfile1
 

〔説明〕
(3)で作成したアンロードデータファイルの名称を指定します。

(6) pdloadコマンドでTABLE02にデータをロードします

 
pdload -k d -b -W -c /pdload/column01 TABLE02 /pdload/load01
 

〔説明〕
-k d:入力データ中にBLOBデータがある場合に指定します。
-b:バイナリ形式のデータをロードする場合に指定します。
-W:pdrorgコマンドで作成したバイナリ形式の入力データファイルを使用する場合に指定します。
-c /pdload/column01:(4)で作成した列構成情報ファイル名を指定します。
TABLE02:データロードする表の名称を指定します。
/pdload/load01:pdloadコマンドの制御文ファイル名を指定します。

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

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

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

 
pdrels -r RDAREA01,RDAREA02,…
 

 

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