Hitachi

ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)


13.16.1 例題1(別表へデータを移行する場合)

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

[図データ]

〈この項の構成〉

(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 -t TABLE01 -g /pdrorg/rorg01
〔説明〕

-k:アンロードをするためunldを指定します。

-W bin:アンロードデータファイルをpdloadコマンドの入力ファイル(バイナリ形式)として使用できるようにします。

-t:アンロードする表の名称を指定します。

-g:HiRDB/パラレルサーバで,TABLE01をサーバ間横分割している場合に指定します。-gオプションを指定すると,アンロードデータファイルが一元化されます(一つになります)。

/pdrorg/rorg01:pdrorgコマンドの制御文ファイル名を指定します。

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

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

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

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

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

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

source /pdrorg/unfile1
〔説明〕

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

(b) HiRDB/パラレルサーバの場合

source bes1:/pdrorg/unfile1
〔説明〕

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

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

pdload -b -W -c /pdload/column01 TABLE02 /pdload/load01
〔説明〕

-b:バイナリ形式のデータをロードする場合に指定します。

-W:pdrorgコマンドで作成したバイナリ形式の入力データファイルを使用する場合に指定します。

-c /pdload/column01:(4)で作成した列構成情報ファイル名を指定します。

TABLE02:データロードする表の名称を指定します。

/pdload/load01:pdloadコマンドの制御文ファイル名を指定します。

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

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

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

pdrels -r RDAREA01,RDAREA02,…

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