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

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

13.14.2 例題2(FIXハッシュ分割の場合)

表(TABLE01)のハッシュ関数をHASH6に変更します。TABLE01はFIXハッシュ分割しています。

<この項の構成>
(1) pdholdコマンドでアンロード対象RDエリアを閉塞します
(2) pdrorgコマンドでTABLE01のデータをアンロードします
(3) pdrelsコマンドでRDエリアの閉塞を解除します
(4) PURGE TABLE文でTABLE01のデータを削除します
(5) ALTER TABLEでハッシュ関数を変更します
(6) pdholdコマンドでデータロード対象RDエリアを閉塞します
(7) pdloadコマンドでTABLE01にデータをデータロードします
(8) データロード対象RDエリアのバックアップを取得します
(9) pdrelsコマンドでRDエリアの閉塞を解除します

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

 
pdhold -r RDAREA01,RDAREA02,…
 

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

 
pdrorg -k unld -W bin -t TABLE01 -g /pdrorg/unld02
 

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

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

 
pdrels -r RDAREA01,RDAREA02,…
 

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

 
PURGE TABLE TABLE01;
 

FIXハッシュ分割した表のハッシュ関数を変更する場合は,表のデータを削除する必要があります。

(5) ALTER TABLEでハッシュ関数を変更します

 
ALTER TABLE TABLE01 CHANGE HASH HASH6;
 

(6) pdholdコマンドでデータロード対象RDエリアを閉塞します

 
pdhold -r RDAREA01,RDAREA02,…
 

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

 
pdload -b -W TABLE01 /pdload/load02
 

〔説明〕
-b:バイナリ形式のデータをロードする場合に指定します。
-W:pdrorgコマンドで作成したバイナリ形式の入力データファイルを使用する場合に指定します。
TABLE01:データロードする表の名称を指定します。
/pdload/load02:pdloadコマンドの制御文ファイル名を指定します。

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

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

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

 
pdrels -r RDAREA01,RDAREA02,…
 

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